Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
80b09046c5
  1. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java
  2. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java
  3. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java
  4. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/DifferenceVo.java
  5. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/HistoryOverDueVo.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  7. 100
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  8. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  9. 123
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  10. 22
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  11. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java
  12. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  13. 78
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDetailsVo.java
  14. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordHistoryVehVo.java
  15. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordHistoryVo.java
  16. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordVehInit.java
  17. 10
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java
  18. 51
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/OverdueBankFeign.java
  19. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/OverdueBankFeignFallback.java
  20. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankDto.java
  21. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankQuery.java
  22. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankTaskQuery.java
  23. 51
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/OverdueFinFeign.java
  24. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/OverdueFinFeignFallback.java
  25. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinDto.java
  26. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinQuery.java
  27. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinTaskQuery.java
  28. 10
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java
  29. 62
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java
  30. 48
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduebank/OverdueBankRest.java
  31. 107
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduebank/OverdueBankService.java
  32. 48
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduefin/OverdueFinRest.java
  33. 102
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduefin/OverdueFinService.java

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java

@ -67,4 +67,9 @@ public interface FinUncollectedReceivablesDetailedJRFeign {
@ApiOperation("更新") @ApiOperation("更新")
@PostMapping("/updateAll") @PostMapping("/updateAll")
ResultBean updateAll(@RequestParam("sid") String sid, @RequestParam("type") String type, @RequestParam("fundDay") BigDecimal fundDay); ResultBean updateAll(@RequestParam("sid") String sid, @RequestParam("type") String type, @RequestParam("fundDay") BigDecimal fundDay);
@ApiOperation("新增")
@PostMapping("/save")
ResultBean save(@RequestBody FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR);
} }

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java

@ -60,4 +60,9 @@ public class FinUncollectedReceivablesDetailedJRFeignFallback implements FinUnco
public ResultBean updateAll(String sid, String type, BigDecimal fundDay) { public ResultBean updateAll(String sid, String type, BigDecimal fundDay) {
return null; return null;
} }
@Override
public ResultBean save(FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR) {
return null;
}
} }

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java

@ -27,6 +27,7 @@ package com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailedjr;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.DetailsOfReceivablesAndUncollectedItemsJRVo; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.DetailsOfReceivablesAndUncollectedItemsJRVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRQuery; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRQuery;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -68,6 +69,13 @@ public class FinUncollectedReceivablesDetailedJRRest implements FinUncollectedRe
@Override @Override
public ResultBean updateAll(String sid, String type, BigDecimal fundDay) { public ResultBean updateAll(String sid, String type, BigDecimal fundDay) {
return finUncollectedReceivablesDetailedJRService.updateAll(sid,type,fundDay); return finUncollectedReceivablesDetailedJRService.updateAll(sid, type, fundDay);
}
@Override
public ResultBean save(FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR) {
ResultBean rb = ResultBean.fireFail();
finUncollectedReceivablesDetailedJRService.insert(finUncollectedReceivablesDetailedJR);
return rb.success();
} }
} }

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/DifferenceVo.java

@ -0,0 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/4 10:40
*/
@Data
public class DifferenceVo {
private String sid;
private String difference; //差额
}

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/HistoryOverDueVo.java

@ -0,0 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/4 9:24
*/
@Data
public class HistoryOverDueVo {
private String planSid; //还款计划sid
private String overdueState; //是否逾期 0是1否
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -167,6 +167,9 @@
loan_repayment_history AS h loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid
LEFT JOIN loan_solutions as s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy as po ON s.policySid = po.sid
LEFT JOIN loan_fin_bank as b ON b.sid = po.bankSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>

100
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -10,10 +10,13 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank; import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyInit; import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyInit;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord; import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply;
@ -70,7 +73,8 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired
private FinUncollectedReceivablesDetailedJRFeign finUncollectedReceivablesDetailedJRFeign;
public ResultBean<String> saveHistory(LoanRepaymentHistoryDto dto) { public ResultBean<String> saveHistory(LoanRepaymentHistoryDto dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
@ -197,26 +201,14 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
} }
} }
} catch (Exception e) { } catch (Exception e) {
if (StringUtils.isBlank(trim)) { if (StringUtils.isNotBlank(trim)) {
String word = new String(); if (i == 2) {
switch (i) { checkWord.add("请导入正确的日期格式,如:2024-01-01");
case 0: importVo.setRealReturnTime("error");
word = "资方合同号"; continue;
break;
case 1:
word = "期数";
break;
case 2:
word = "实还日期";
break;
case 3:
word = "实还金额";
break;
default:
break;
} }
// String checkResult = "第" + (r + 1) + "行" + word + "为空"; }
// sb.append(checkResult).append(";"); if (StringUtils.isBlank(trim)) {
continue; continue;
} }
} }
@ -237,7 +229,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
try { try {
sdf.parse(excelInfo.getRealReturnTime()); sdf.parse(excelInfo.getRealReturnTime());
} catch (ParseException e) { } catch (ParseException e) {
checkWord.add("请导入正确的日期格式,如:2023-01-01"); checkWord.add("请导入正确的日期格式,如:2024-01-01");
e.printStackTrace(); e.printStackTrace();
} }
} }
@ -644,6 +636,9 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
List<LoanRepaymentPlanDetails> planDetails = loanRepaymentPlanDetailsService.selPlanByNoAndPeriod(repaymentExcelInfo.getBankContractNo(), repaymentExcelInfo.getPeriod()); List<LoanRepaymentPlanDetails> planDetails = loanRepaymentPlanDetailsService.selPlanByNoAndPeriod(repaymentExcelInfo.getBankContractNo(), repaymentExcelInfo.getPeriod());
if (!planDetails.isEmpty()) { if (!planDetails.isEmpty()) {
for (LoanRepaymentPlanDetails planDetail : planDetails) { for (LoanRepaymentPlanDetails planDetail : planDetails) {
// String check = loanRepaymentPlanDetailsService.InsertForCheckPaymentAndBank(planDetail.getSid());
LoanRepaymentHistory repaymentHistory = new LoanRepaymentHistory(); LoanRepaymentHistory repaymentHistory = new LoanRepaymentHistory();
repaymentHistory.setBuckle("未申请"); repaymentHistory.setBuckle("未申请");
repaymentHistory.setBuckleKey("001"); repaymentHistory.setBuckleKey("001");
@ -660,17 +655,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
BigDecimal divide = realMoney.divide(new BigDecimal(planDetails.size()), 2, BigDecimal.ROUND_HALF_UP); BigDecimal divide = realMoney.divide(new BigDecimal(planDetails.size()), 2, BigDecimal.ROUND_HALF_UP);
repaymentHistory.setActualMoney(divide); repaymentHistory.setActualMoney(divide);
repaymentHistory.setDataTime(new DateTime()); repaymentHistory.setDataTime(new DateTime());
// List<LoanRepaymentHistory> histories = baseMapper.selHistoryByPlanSid(planDetail.getSid());
// BigDecimal returned = new BigDecimal(0);
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistory history : histories) {
// returned = history.getActualMoney().add(returned);
// }
// }
// BigDecimal decimal = returned.add(divide);
// BigDecimal dueMoney = planDetail.getDueMoney();
// BigDecimal subtract = dueMoney.subtract(decimal);
// repaymentHistory.setOutstandingMoney(subtract);
baseMapper.insert(repaymentHistory); baseMapper.insert(repaymentHistory);
} }
} }
@ -765,6 +749,54 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
} }
} }
} }
//判断当期是否逾期
List<HistoryOverDueVo> overDueVoList = loanRepaymentPlanDetailsService.overDueVoList(useOrgSid);
if (!overDueVoList.isEmpty()) {
List<String> planSids = new ArrayList<>();
overDueVoList.stream().forEach(v -> {
if (v.getOverdueState().equals("0")) {
planSids.add(v.getPlanSid());
}
});
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOverDueState(planSids);
}
}
//对当前涉及的还款计划是否为中车类是否有垫款
if (!pSids.isEmpty()) {
for (String pSid : pSids) {
String reAdvances = loanRepaymentPlanDetailsService.reAdvancesOrPaymentMoney(pSid);
if (StringUtils.isNotBlank(reAdvances)) {
if (reAdvances.equals("0")) {
DifferenceVo difference = loanRepaymentPlanDetailsService.selDifference(pSid);
if (null != difference) {
if (StringUtils.isNotBlank(difference.getDifference())) {
BigDecimal amount = new BigDecimal(difference.getDifference());
if (amount.compareTo(BigDecimal.ZERO) > 0) {
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(pSid);
planDetails.setPaymentMoney(planDetails.getPaymentMoney().subtract(amount));
loanRepaymentPlanDetailsService.updateById(planDetails);
//生成平台资方退还垫款
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setBusSid(planDetails.getSid());
jr.setCurrentReceivableMoney(amount);
jr.setPayCostTitleKey("007");
jr.setPayCostTitleValue("资方退还垫款");
jr.setOrgSidPath(planDetails.getOrgSidPath());
jr.setUseOrgName(planDetails.getUseOrgName());
jr.setUseOrgSid(planDetails.getUseOrgSid());
jr.setStaffDeptName(planDetails.getDept());
jr.setStaffName(planDetails.getStaffName());
jr.setStaffDeptSid(planDetails.getDeptSid());
jr.setStaffUserSid(planDetails.getSalesUserSid());
finUncollectedReceivablesDetailedJRFeign.save(jr);
}
}
}
}
}
}
}
} else { } else {
return rb.setMsg("暂无可更新的还款记录"); return rb.setMsg("暂无可更新的还款记录");
} }
@ -882,7 +914,8 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(pagerQuery.getType())) { if (StringUtils.isNotBlank(pagerQuery.getType())) {
String type = pagerQuery.getType(); String type = pagerQuery.getType();
if (type.equals("0")) { if (type.equals("0")) {
qw.eq("h.paymentStateKey", "001").or().eq("h.paymentStateKey", "002"); // qw.eq("h.paymentStateKey", "001").or().eq("h.paymentStateKey", "002");
qw.apply("(h.paymentStateKey = '001' OR h.paymentStateKey = '002')");
} else if (type.equals("1")) { } else if (type.equals("1")) {
qw.eq("h.paymentStateKey", "003"); qw.eq("h.paymentStateKey", "003");
} }
@ -923,6 +956,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (h.prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (h.prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (h.prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')" apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (h.prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')"
); );
qw.apply("(b.reAdvances = '1' OR IFNULL(p.paymentMoney,0) <= 0)");
IPage<TransferPaymentVo> pagging = baseMapper.transferPaymentList(page, qw); IPage<TransferPaymentVo> pagging = baseMapper.transferPaymentList(page, qw);
PagerVo<TransferPaymentVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<TransferPaymentVo> p = PagerUtil.pageToVo(pagging, null);
return p; return p;

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.DifferenceVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails;
@ -40,4 +42,14 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
List<LoanRepaymentPlanDetails> planList(); List<LoanRepaymentPlanDetails> planList();
int updateTime(@Param("bankName")String bankName,@Param("updateTime") Date updateTime,@Param("useOrgSid") String useOrgSid); int updateTime(@Param("bankName")String bankName,@Param("updateTime") Date updateTime,@Param("useOrgSid") String useOrgSid);
List<HistoryOverDueVo> overDueVoList(@Param("useOrgSid") String useOrgSid);
int updateOverDueState(@Param("planSids") List<String> planSids);
String reAdvancesOrPaymentMoney(@Param("pSid") String pSid);
DifferenceVo selDifference(@Param("pSid") String pSid);
String InsertForCheckPaymentAndBank(@Param("sid") String sid);
} }

123
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -7,6 +7,14 @@
WHERE bankName = #{bankName} WHERE bankName = #{bankName}
and useOrgSid = #{useOrgSid}; and useOrgSid = #{useOrgSid};
</update> </update>
<update id="updateOverDueState">
update loan_repayment_plan_details
set overdue = 0
where sid in
<foreach collection="planSids" item="planSid" open="(" close=")" separator=",">
#{planSid}
</foreach>
</update>
<delete id="deletePlanDetails"> <delete id="deletePlanDetails">
DELETE DELETE
FROM loan_repayment_plan_details FROM loan_repayment_plan_details
@ -108,4 +116,119 @@
from anrui_riskcenter.loan_repayment_plan_details from anrui_riskcenter.loan_repayment_plan_details
where paymentMoney > 0 where paymentMoney > 0
</select> </select>
<select id="overDueVoList" resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo">
SELECT b.sid as planSid,
CASE
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) &gt; 0 THEN
'0'
WHEN (b.outstandingMoney + b.bankBeInter + b.fund) &lt;= 0 THEN
'1'
END AS overdueState
FROM (
SELECT a.*
FROM (
SELECT pd.dueDate,
pd.useOrgSid,
pd.sid,
IFNULL(pd.fund, 0) AS fund,
pd.dueMoney,
pd.overdue,
t.repaidMoney,
t.outstandingMoney,
IFNULL(v.bankBeInter, 0) AS bankBeInter,
pd.overdue AS dueOverdue,
pd.updateTime AS updateDate
FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid
LEFT JOIN (
SELECT p.sid,
IFNULL((
SELECT SUM(
IFNULL(h.actualMoney, 0))
FROM loan_repayment_history AS h
WHERE h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
) AS repaidMoney,
IFNULL(
(
p.dueMoney - IFNULL((
SELECT SUM(
IFNULL(h.actualMoney, 0))
FROM loan_repayment_history AS h
WHERE h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
)),
0
) AS outstandingMoney
FROM loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
WHERE a.dueDate &lt;= a.updateDate
AND a.overdue = 1
and a.useOrgSid = #{useOrgSid}
) AS b
</select>
<select id="reAdvancesOrPaymentMoney" resultType="java.lang.String">
SELECT CASE
WHEN p.paymentMoney > 0
AND b.reAdvances = 1
THEN
'0'
ELSE '1'
END as h
FROM loan_repayment_plan_details as p
LEFT JOIN loan_solutions as s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy as py ON s.policySid = py.sid
LEFT JOIN loan_fin_bank as b ON b.sid = py.bankSid
AND s.isDelete = 0
and p.sid = #{pSid}
</select>
<select id="selDifference" resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.DifferenceVo">
SELECT a.*
FROM (
SELECT pd.sid,
t.difference
FROM loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
LEFT JOIN loan_be_padsincere_veh AS v ON v.saleVehSid = pd.busVinSid
LEFT JOIN (
SELECT p.sid,
IFNULL(
(
p.dueMoney - IFNULL((
SELECT SUM(
IFNULL(h.actualMoney, 0))
FROM loan_repayment_history AS h
WHERE h.planDetailSid = p.sid
AND h.updateState = '1'
),
0
)),
0
) AS difference
FROM loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
WHERE a.sid = #{pSid}
</select>
<select id="InsertForCheckPaymentAndBank" resultType="java.lang.String">
SELECT CASE
WHEN p.paymentMoney > 0
AND b.reAdvances = 0
THEN
'0'
ELSE '1'
END as h
FROM loan_repayment_plan_details as p
LEFT JOIN loan_solutions as s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy as py ON s.policySid = py.sid
LEFT JOIN loan_fin_bank as b ON b.sid = py.bankSid
AND s.isDelete = 0
and p.sid = #{sid}
</select>
</mapper> </mapper>

22
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -19,6 +19,8 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.DifferenceVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryDto; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
@ -115,4 +117,24 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public int updateTime(String bankName, Date updateTime,String useOrgSid) { public int updateTime(String bankName, Date updateTime,String useOrgSid) {
return baseMapper.updateTime(bankName,updateTime,useOrgSid); return baseMapper.updateTime(bankName,updateTime,useOrgSid);
} }
public List<HistoryOverDueVo> overDueVoList(String useOrgSid) {
return baseMapper.overDueVoList(useOrgSid);
}
public int updateOverDueState(List<String> planSids) {
return baseMapper.updateOverDueState(planSids);
}
public String reAdvancesOrPaymentMoney(String pSid) {
return baseMapper.reAdvancesOrPaymentMoney(pSid);
}
public DifferenceVo selDifference(String pSid) {
return baseMapper.selDifference(pSid);
}
public String InsertForCheckPaymentAndBank(String sid) {
return baseMapper.InsertForCheckPaymentAndBank(sid);
}
} }

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java

@ -31,4 +31,5 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper<LoanRepaymentSch
List<LoanRepaymentScheduleDetailsVo> selectByBankContractNo(String bankContractNo); List<LoanRepaymentScheduleDetailsVo> selectByBankContractNo(String bankContractNo);
LoanRepaymentSchedule selByLoanContractSid(@Param("loanContractSid") String loanContractSid); LoanRepaymentSchedule selByLoanContractSid(@Param("loanContractSid") String loanContractSid);
} }

20
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -321,6 +321,17 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (StringUtils.isNotBlank(dto.getOtherBankNo())) { if (StringUtils.isNotBlank(dto.getOtherBankNo())) {
loanRepaymentSchedule.setOtherBankNo(dto.getOtherBankNo()); loanRepaymentSchedule.setOtherBankNo(dto.getOtherBankNo());
} }
List<String> repayDate = returnRepayDate(dto.getMainRepayDate(), dto.getMainPeriod());
if (!repayDate.isEmpty()) {
String lastDate = repayDate.get(repayDate.size() - 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(lastDate);
loanRepaymentSchedule.setMainLastDate(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
baseMapper.updateById(loanRepaymentSchedule); baseMapper.updateById(loanRepaymentSchedule);
loanRepaymentPlanDetailsService.deletePlanDetails(loanRepaymentSchedule.getSid()); loanRepaymentPlanDetailsService.deletePlanDetails(loanRepaymentSchedule.getSid());
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(orderSid).getData(); BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(orderSid).getData();
@ -620,7 +631,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} else if (i == Integer.parseInt(otherPeriod) - 1) { } else if (i == Integer.parseInt(otherPeriod) - 1) {
otherRepay = new BigDecimal(otherLastPay); otherRepay = new BigDecimal(otherLastPay);
} else if (i < Integer.parseInt(otherPeriod) - 1) { } else if (i < Integer.parseInt(otherPeriod) - 1) {
otherRepay = new BigDecimal(otherLastPay); otherRepay = new BigDecimal(otherMidPay);
} }
if (i == 0) { if (i == 0) {
BigDecimal mainF = new BigDecimal(mainFirstRepay); BigDecimal mainF = new BigDecimal(mainFirstRepay);
@ -1005,7 +1016,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} else if (i == Integer.parseInt(otherPeriod) - 1) { } else if (i == Integer.parseInt(otherPeriod) - 1) {
otherRepay = new BigDecimal(otherLastPay); otherRepay = new BigDecimal(otherLastPay);
} else if (i > 0 && i < Integer.parseInt(otherPeriod) - 1) { } else if (i > 0 && i < Integer.parseInt(otherPeriod) - 1) {
otherRepay = new BigDecimal(otherLastPay); otherRepay = new BigDecimal(otherMidPay);
} }
if (i == 0) { if (i == 0) {
BigDecimal mainF = new BigDecimal(mainFirstRepay); BigDecimal mainF = new BigDecimal(mainFirstRepay);
@ -1176,7 +1187,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
String date = ""; String date = "";
String temp = ""; String temp = "";
for (int i = 1; i <= p; i++) { for (int i = 1; i <= p; i++) {
if (Integer.parseInt(month) < 10 && !month.equals("01")) { if (Integer.parseInt(month) < 10 && !month.contains("0")
// && !month.equals("01")
) {
temp = "0"; temp = "0";
} else { } else {
temp = ""; temp = "";
@ -1605,6 +1618,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
return rb.success().setData(vo); return rb.success().setData(vo);
} }
/** /**
* 生成pdf * 生成pdf
* *

78
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDetailsVo.java

@ -0,0 +1,78 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.risk.becollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-riskcenter(逾期催收记录) <br/>
* File: LoanBeCollectionRecordVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVo <br/>
* Description: 逾期催收记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-12-11 13:45:41 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "逾期催收记录 视图数据详情", description = "逾期催收记录 视图数据详情")
public class AppBeCollectionRecordDetailsVo implements Vo {
@ApiModelProperty("催收方式value")
private String collectionTypeValue;
@ApiModelProperty("定位具体位置")
private String locationStr;
@ApiModelProperty("催收结果value")
private String collectionResultValue;
@ApiModelProperty("联系人value")
private String contactsValue;
@ApiModelProperty("逾期原因")
private String beReason;
@ApiModelProperty("是否正常运营value")
private String isNormalOperValue;
@ApiModelProperty("承诺还款日期")
private String promRepayDate;
@ApiModelProperty("承诺还款金额")
private String promRepayMoney;
@ApiModelProperty("预处理措施value")
private String taskHandMeasuresValue;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("催收附件")
private List<String> files = new ArrayList<>();
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordHistoryVehVo.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.risk.becollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class AppBeCollectionRecordHistoryVehVo {
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("贷款人联系电话")
private String borrowerMobile;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("首次逾期日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date firstBeDate;
@ApiModelProperty("逾期期数")
private String beOverduePeriod;
@ApiModelProperty("逾期金额")
private String beOverdueMoney;
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod;
@ApiModelProperty
private List<AppBeCollectionRecordHistoryVo> appBeCollectionRecordHistoryVoList;
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordHistoryVo.java

@ -0,0 +1,67 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.api.risk.becollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-riskcenter(逾期催收记录) <br/>
* File: LoanBeCollectionRecordVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanbecollectionrecord.LoanBeCollectionRecordVo <br/>
* Description: 逾期催收记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-12-11 13:45:41 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
public class AppBeCollectionRecordHistoryVo implements Vo {
private String sid; // sid
@ApiModelProperty("催收日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime; // 催收日期
@ApiModelProperty("催收方式value")
private String collectionTypeValue; // 催收方式value
@ApiModelProperty("定位具体位置")
private String locationStr; // 定位具体位置
@ApiModelProperty("催收结果value")
private String collectionResultValue; // 催收结果value
@ApiModelProperty("联系人value")
private String contactsValue; // 联系人value
@ApiModelProperty("备注")
private String remarks; // 备注
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordVehInit.java

@ -12,6 +12,8 @@ public class AppBeCollectionRecordVehInit {
@ApiModelProperty("销售订单车辆sid") @ApiModelProperty("销售订单车辆sid")
private String vinSid; private String vinSid;
@ApiModelProperty("消贷合同编号")
private String contractId;
@ApiModelProperty("车架号") @ApiModelProperty("车架号")
private String vinNo; private String vinNo;
@ApiModelProperty("车牌号") @ApiModelProperty("车牌号")

10
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java

@ -55,6 +55,16 @@ public interface BeCollectionFeign {
@ResponseBody @ResponseBody
public ResultBean saveCollectionEnter(@RequestBody AppBeCollectionRecordDto dto); public ResultBean saveCollectionEnter(@RequestBody AppBeCollectionRecordDto dto);
@ApiOperation("查看历史催收记录")
@GetMapping("/viewHistory")
@ResponseBody
public ResultBean<AppBeCollectionRecordHistoryVehVo> viewHistory(@RequestParam("saleVehSid") String saleVehSid);
@ApiOperation("催收记录详情")
@GetMapping("/collectionDetails")
@ResponseBody
public ResultBean<AppBeCollectionRecordDetailsVo> collectionDetails(@RequestParam("sid") String sid);
@ApiOperation("查看担保人信息") @ApiOperation("查看担保人信息")
@GetMapping("/showDbr") @GetMapping("/showDbr")
@ResponseBody @ResponseBody

51
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/OverdueBankFeign.java

@ -0,0 +1,51 @@
package com.yxt.anrui.terminal.api.risk.overduebank;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankDto;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankQuery;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@FeignClient(
contextId = "terminal-overduebank",
name = "anrui-terminal",
path = "/risk/v1/overduebank",
fallback = OverdueBankFeignFallback.class)
public interface OverdueBankFeign {
@ApiOperation("办理")
@PutMapping("/agreeOverdueBank")
@ResponseBody
ResultBean agreeOverdueBank(@RequestBody OverdueBankDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectOverdueBank")
@ResponseBody
ResultBean rejectOverdueBank(@RequestBody OverdueBankTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallOverdueBank")
@ResponseBody
ResultBean recallOverdueBank(@RequestBody OverdueBankTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopOverdueBank")
@ResponseBody
ResultBean stopOverdueBank(@RequestBody OverdueBankTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap OverdueBankQuery query);
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/OverdueBankFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.risk.overduebank;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Component
public class OverdueBankFeignFallback {
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankDto.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.risk.overduebank.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueBankDto implements Dto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.risk.overduebank.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueBankQuery {
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduebank/flowable/OverdueBankTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.terminal.api.risk.overduebank.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueBankTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

51
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/OverdueFinFeign.java

@ -0,0 +1,51 @@
package com.yxt.anrui.terminal.api.risk.overduefin;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinDto;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@FeignClient(
contextId = "terminal-overduefin",
name = "anrui-terminal",
path = "/risk/v1/overduefin",
fallback = OverdueFinFeignFallback.class)
public interface OverdueFinFeign {
@ApiOperation("办理")
@PutMapping("/agreeOverdueFin")
@ResponseBody
ResultBean agreeOverdueFin(@RequestBody OverdueFinDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectOverdueFin")
@ResponseBody
ResultBean rejectOverdueFin(@RequestBody OverdueFinTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallOverdueFin")
@ResponseBody
ResultBean recallOverdueFin(@RequestBody OverdueFinTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopOverdueFin")
@ResponseBody
ResultBean stopOverdueFin(@RequestBody OverdueFinTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap OverdueFinQuery query);
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/OverdueFinFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.risk.overduefin;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Component
public class OverdueFinFeignFallback {
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.overduefin.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueFinDto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.risk.overduefin.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueFinQuery {
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/overduefin/flowable/OverdueFinTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.terminal.api.risk.overduefin.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Data
public class OverdueFinTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

10
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java

@ -76,6 +76,16 @@ public class BeCollectionRest implements BeCollectionFeign {
return beCollectionService.saveCollectionEnter(dto); return beCollectionService.saveCollectionEnter(dto);
} }
@Override
public ResultBean<AppBeCollectionRecordHistoryVehVo> viewHistory(String saleVehSid) {
return beCollectionService.viewHistory(saleVehSid);
}
@Override
public ResultBean<AppBeCollectionRecordDetailsVo> collectionDetails(String sid) {
return beCollectionService.collectionDetails(sid);
}
@Override @Override
public ResultBean<AppDbrDetailsVo> showDbr(String saleVehSid) { public ResultBean<AppDbrDetailsVo> showDbr(String saleVehSid) {
return beCollectionService.showDbr(saleVehSid); return beCollectionService.showDbr(saleVehSid);

62
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java

@ -299,7 +299,7 @@ public class BeCollectionService {
AppBeCollectionVehDetailsVo appBeCollectionVehDetailsVo = new AppBeCollectionVehDetailsVo(); AppBeCollectionVehDetailsVo appBeCollectionVehDetailsVo = new AppBeCollectionVehDetailsVo();
appBeCollectionVehDetailsVo.setSaleVehSid(loanBeCollectionVehDetail.getSaleVehSid()); appBeCollectionVehDetailsVo.setSaleVehSid(loanBeCollectionVehDetail.getSaleVehSid());
LoanBeCollectionVehDbrDetailsVo loanBeCollectionVehDbrDetailsVo = loanBeCollectionVehFeign.initDbr(loanBeCollectionVehDetail.getSaleVehSid()).getData(); LoanBeCollectionVehDbrDetailsVo loanBeCollectionVehDbrDetailsVo = loanBeCollectionVehFeign.initDbr(loanBeCollectionVehDetail.getSaleVehSid()).getData();
if (StringUtils.isNotBlank(loanBeCollectionVehDbrDetailsVo.getPeoName())){ if (StringUtils.isNotBlank(loanBeCollectionVehDbrDetailsVo.getPeoName())) {
appBeCollectionVehDetailsVo.setShowDbr(true); appBeCollectionVehDetailsVo.setShowDbr(true);
} }
appBeCollectionVehDetailsVo.setContractId(loanBeCollectionVehDetail.getLoanContractNo()); appBeCollectionVehDetailsVo.setContractId(loanBeCollectionVehDetail.getLoanContractNo());
@ -433,7 +433,7 @@ public class BeCollectionService {
appBeOverdueVehVo.setBeOverdueMoney(record.getBeOverdueMoney()); appBeOverdueVehVo.setBeOverdueMoney(record.getBeOverdueMoney());
appBeOverdueVehVo.setBeOverdueMoneyAndPeriod(record.getBeOverdueMoneyAndPeriod()); appBeOverdueVehVo.setBeOverdueMoneyAndPeriod(record.getBeOverdueMoneyAndPeriod());
appBeOverdueVehVo.setCreateTime(record.getCreateTime()); appBeOverdueVehVo.setCreateTime(record.getCreateTime());
if (record.getCreateTime() != null){ if (record.getCreateTime() != null) {
appBeOverdueVehVo.setShowCs(true); appBeOverdueVehVo.setShowCs(true);
} }
appBeOverdueVehVo.setRiskStaffUserName(record.getRiskStaffUserName()); appBeOverdueVehVo.setRiskStaffUserName(record.getRiskStaffUserName());
@ -470,6 +470,7 @@ public class BeCollectionService {
for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) { for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) {
AppBeCollectionRecordVehInit appBeCollectionRecordVehInit = new AppBeCollectionRecordVehInit(); AppBeCollectionRecordVehInit appBeCollectionRecordVehInit = new AppBeCollectionRecordVehInit();
appBeCollectionRecordVehInit.setVinSid(loanBeCollectionRecordVehInit.getSaleVehSid()); appBeCollectionRecordVehInit.setVinSid(loanBeCollectionRecordVehInit.getSaleVehSid());
appBeCollectionRecordVehInit.setContractId(loanBeCollectionRecordVehInit.getLoanContractNo());
appBeCollectionRecordVehInit.setVinNo(loanBeCollectionRecordVehInit.getVinNo()); appBeCollectionRecordVehInit.setVinNo(loanBeCollectionRecordVehInit.getVinNo());
appBeCollectionRecordVehInit.setCarNum(loanBeCollectionRecordVehInit.getCarNum()); appBeCollectionRecordVehInit.setCarNum(loanBeCollectionRecordVehInit.getCarNum());
appBeCollectionRecordVehInit.setCusName(loanBeCollectionRecordVehInit.getCustName()); appBeCollectionRecordVehInit.setCusName(loanBeCollectionRecordVehInit.getCustName());
@ -488,18 +489,17 @@ public class BeCollectionService {
if ("催收记录".equals(loanBeCollectionVehFile.getName())) { if ("催收记录".equals(loanBeCollectionVehFile.getName())) {
appBeCollectionRecordVehInit.setCsjlSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setCsjlSid(loanBeCollectionVehFile.getSid());
} }
if ("开票信息".equals(loanBeCollectionVehFile.getName())){ if ("开票信息".equals(loanBeCollectionVehFile.getName())) {
appBeCollectionRecordVehInit.setKpglSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setKpglSid(loanBeCollectionVehFile.getSid());
} }
if ("月还明细".equals(loanBeCollectionVehFile.getName())){ if ("月还明细".equals(loanBeCollectionVehFile.getName())) {
appBeCollectionRecordVehInit.setYhmxSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setYhmxSid(loanBeCollectionVehFile.getSid());
} }
if ("家访考察报告".equals(loanBeCollectionVehFile.getName())){ if ("家访考察报告".equals(loanBeCollectionVehFile.getName())) {
appBeCollectionRecordVehInit.setJfkcSid(loanBeCollectionVehFile.getSid()); appBeCollectionRecordVehInit.setJfkcSid(loanBeCollectionVehFile.getSid());
} }
if ("金融方案".equals(loanBeCollectionVehFile.getName())) { if ("金融方案".equals(loanBeCollectionVehFile.getName())) {
LoanSolutions loanSolutions = loanSolutionsFeign.fetchBySid(loanBeCollectionVehFile.getSid()).getData(); CarModelVo finPage1 = commonService.getLoanSolution(loanBeCollectionVehFile.getSid()).getData();
CarModelVo finPage1 = commonService.getLoanSolution(loanSolutions.getSalesOrderSid()).getData();
AppLoanHomeVisitVo finPage2 = new AppLoanHomeVisitVo(); AppLoanHomeVisitVo finPage2 = new AppLoanHomeVisitVo();
BeanUtil.copyProperties(finPage1, finPage2); BeanUtil.copyProperties(finPage1, finPage2);
appBeCollectionRecordVehInit.setJrfa(finPage2); appBeCollectionRecordVehInit.setJrfa(finPage2);
@ -599,17 +599,17 @@ public class BeCollectionService {
List<String> appdbxy = new ArrayList<>(); List<String> appdbxy = new ArrayList<>();
List<LoanBeCollectionFileVo> qtFiles = loanBeCollectionVehDbrDetailsVo.getQtFiles(); List<LoanBeCollectionFileVo> qtFiles = loanBeCollectionVehDbrDetailsVo.getQtFiles();
List<String> appqt = new ArrayList<>(); List<String> appqt = new ArrayList<>();
if (sfzFiles != null && sfzFiles.size() > 0){ if (sfzFiles != null && sfzFiles.size() > 0) {
for (LoanBeCollectionFileVo sfzFile : sfzFiles) { for (LoanBeCollectionFileVo sfzFile : sfzFiles) {
appsfz.add(sfzFile.getUrl()); appsfz.add(sfzFile.getUrl());
} }
} }
if (dbxyFiles != null && dbxyFiles.size() > 0){ if (dbxyFiles != null && dbxyFiles.size() > 0) {
for (LoanBeCollectionFileVo dbxyFile : dbxyFiles) { for (LoanBeCollectionFileVo dbxyFile : dbxyFiles) {
appdbxy.add(dbxyFile.getUrl()); appdbxy.add(dbxyFile.getUrl());
} }
} }
if (qtFiles != null && qtFiles.size() > 0){ if (qtFiles != null && qtFiles.size() > 0) {
for (LoanBeCollectionFileVo qtFile : qtFiles) { for (LoanBeCollectionFileVo qtFile : qtFiles) {
appqt.add(qtFile.getUrl()); appqt.add(qtFile.getUrl());
} }
@ -624,7 +624,7 @@ public class BeCollectionService {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
AppMonRepayDetails appMonRepayDetails = new AppMonRepayDetails(); AppMonRepayDetails appMonRepayDetails = new AppMonRepayDetails();
MonRepayDetails monRepayDetails = loanRepaymentPlanDetailsFeign.details(saleVehSid).getData(); MonRepayDetails monRepayDetails = loanRepaymentPlanDetailsFeign.details(saleVehSid).getData();
BeanUtil.copyProperties(monRepayDetails,appMonRepayDetails); BeanUtil.copyProperties(monRepayDetails, appMonRepayDetails);
List<MonRepayPeriodDetails> monRepayPeriodDetailsList = monRepayDetails.getMonRepayPeriodDetailsList(); List<MonRepayPeriodDetails> monRepayPeriodDetailsList = monRepayDetails.getMonRepayPeriodDetailsList();
List<String> appMonRepayPeriodDetailsList = new ArrayList<>(); List<String> appMonRepayPeriodDetailsList = new ArrayList<>();
appMonRepayPeriodDetailsList.add("期数"); appMonRepayPeriodDetailsList.add("期数");
@ -645,19 +645,51 @@ public class BeCollectionService {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinVehicleInvoiceDetailsVo finVehicleInvoiceDetailsVo = finVehicleInvoiceFeign.fetchBySid(sid).getData(); FinVehicleInvoiceDetailsVo finVehicleInvoiceDetailsVo = finVehicleInvoiceFeign.fetchBySid(sid).getData();
AppInvoiceDetails appInvoiceDetails = new AppInvoiceDetails(); AppInvoiceDetails appInvoiceDetails = new AppInvoiceDetails();
BeanUtil.copyProperties(finVehicleInvoiceDetailsVo,appInvoiceDetails); BeanUtil.copyProperties(finVehicleInvoiceDetailsVo, appInvoiceDetails);
List<String> filePaths = finVehicleInvoiceDetailsVo.getFilePaths(); List<String> filePaths = finVehicleInvoiceDetailsVo.getFilePaths();
if (filePaths != null && filePaths.size() > 0){ if (filePaths != null && filePaths.size() > 0) {
appInvoiceDetails.setFpFiles(filePaths); appInvoiceDetails.setFpFiles(filePaths);
} }
List<String> billingFilePaths = finVehicleInvoiceDetailsVo.getBillingFilePaths(); List<String> billingFilePaths = finVehicleInvoiceDetailsVo.getBillingFilePaths();
if (billingFilePaths != null && billingFilePaths.size() > 0){ if (billingFilePaths != null && billingFilePaths.size() > 0) {
appInvoiceDetails.setKpsqFiles(billingFilePaths); appInvoiceDetails.setKpsqFiles(billingFilePaths);
} }
List<String> certificatePaths = finVehicleInvoiceDetailsVo.getCertificatePaths(); List<String> certificatePaths = finVehicleInvoiceDetailsVo.getCertificatePaths();
if (certificatePaths != null && certificatePaths.size() > 0){ if (certificatePaths != null && certificatePaths.size() > 0) {
appInvoiceDetails.setHgzFiles(certificatePaths); appInvoiceDetails.setHgzFiles(certificatePaths);
} }
return rb.success().setData(appInvoiceDetails); return rb.success().setData(appInvoiceDetails);
} }
public ResultBean<AppBeCollectionRecordHistoryVehVo> viewHistory(String saleVehSid) {
ResultBean rb = ResultBean.fireFail();
LoanBeCollectionRecordHistoryVehVo loanBeCollectionRecordHistoryVehVo = loanBeCollectionRecordFeign.viewHistory(saleVehSid).getData();
AppBeCollectionRecordHistoryVehVo appBeCollectionRecordHistoryVehVo = new AppBeCollectionRecordHistoryVehVo();
BeanUtil.copyProperties(loanBeCollectionRecordHistoryVehVo, appBeCollectionRecordHistoryVehVo);
List<LoanBeCollectionRecordHistoryVo> loanBeCollectionRecordHistoryVoList = loanBeCollectionRecordHistoryVehVo.getLoanBeCollectionRecordHistoryVoList();
List<AppBeCollectionRecordHistoryVo> appBeCollectionRecordHistoryVos = new ArrayList<>();
for (LoanBeCollectionRecordHistoryVo loanBeCollectionRecordHistoryVo : loanBeCollectionRecordHistoryVoList) {
AppBeCollectionRecordHistoryVo appBeCollectionRecordHistoryVo = new AppBeCollectionRecordHistoryVo();
BeanUtil.copyProperties(loanBeCollectionRecordHistoryVo, appBeCollectionRecordHistoryVo);
appBeCollectionRecordHistoryVos.add(appBeCollectionRecordHistoryVo);
}
appBeCollectionRecordHistoryVehVo.setAppBeCollectionRecordHistoryVoList(appBeCollectionRecordHistoryVos);
return rb.success().setData(appBeCollectionRecordHistoryVehVo);
}
public ResultBean<AppBeCollectionRecordDetailsVo> collectionDetails(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanBeCollectionRecordDetailsVo loanBeCollectionRecordDetailsVo = loanBeCollectionRecordFeign.fetchDetailsBySid(sid).getData();
AppBeCollectionRecordDetailsVo appBeCollectionRecordDetailsVo = new AppBeCollectionRecordDetailsVo();
BeanUtil.copyProperties(loanBeCollectionRecordDetailsVo,appBeCollectionRecordDetailsVo);
List<LoanBeCollectionRecordFile> loanBeCollectionRecordFileList = loanBeCollectionRecordDetailsVo.getLoanBeCollectionRecordFileList();
List<String> files = new ArrayList<>();
if (loanBeCollectionRecordFileList != null && loanBeCollectionRecordFileList.size() > 0){
for (LoanBeCollectionRecordFile loanBeCollectionRecordFile : loanBeCollectionRecordFileList) {
files.add(loanBeCollectionRecordFile.getUrl());
}
}
appBeCollectionRecordDetailsVo.setFiles(files);
return rb.success().setData(appBeCollectionRecordDetailsVo);
}
} }

48
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduebank/OverdueBankRest.java

@ -0,0 +1,48 @@
package com.yxt.anrui.terminal.biz.risk.overduebank;
import com.yxt.anrui.terminal.api.risk.overduebank.OverdueBankFeign;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankDto;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankQuery;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Controller
@RequestMapping("/risk/v1/overduebank")
public class OverdueBankRest implements OverdueBankFeign {
@Autowired
private OverdueBankService overdueBankService;
@Override
public ResultBean agreeOverdueBank(OverdueBankDto dto) {
return overdueBankService.agreeOverdueBank(dto);
}
@Override
public ResultBean rejectOverdueBank(OverdueBankTaskQuery query) {
return overdueBankService.rejectOverdueBank(query);
}
@Override
public ResultBean recallOverdueBank(OverdueBankTaskQuery query) {
return overdueBankService.recallOverdueBank(query);
}
@Override
public ResultBean stopOverdueBank(OverdueBankTaskQuery query) {
return overdueBankService.stopOverdueBank(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(OverdueBankQuery query) {
return overdueBankService.getFlowOperateTitle(query);
}
}

107
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduebank/OverdueBankService.java

@ -0,0 +1,107 @@
package com.yxt.anrui.terminal.biz.risk.overduebank;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankFeign;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.CompleteBankDto;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateCompleteDto;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankDto;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankQuery;
import com.yxt.anrui.terminal.api.risk.overduebank.flowable.OverdueBankTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Service
public class OverdueBankService {
@Autowired
private LoanOverdueBankFeign loanOverdueBankFeign;
public ResultBean agreeOverdueBank(OverdueBankDto dto) {
ResultBean rb = ResultBean.fireFail();
CompleteBankDto completeBankDto = new CompleteBankDto();
BeanUtil.copyProperties(dto, completeBankDto);
ResultBean resultBean = loanOverdueBankFeign.complete(completeBankDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectOverdueBank(OverdueBankTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueBankApplyTaskQuery overdueBankApplyTaskQuery = new OverdueBankApplyTaskQuery();
BeanUtil.copyProperties(query, overdueBankApplyTaskQuery);
ResultBean resultBean = loanOverdueBankFeign.taskReject(overdueBankApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallOverdueBank(OverdueBankTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueBankApplyTaskQuery overdueBankApplyTaskQuery = new OverdueBankApplyTaskQuery();
BeanUtil.copyProperties(query, overdueBankApplyTaskQuery);
ResultBean resultBean = loanOverdueBankFeign.revokeProcess(overdueBankApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopOverdueBank(OverdueBankTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueBankApplyTaskQuery overdueBankApplyTaskQuery = new OverdueBankApplyTaskQuery();
BeanUtil.copyProperties(query, overdueBankApplyTaskQuery);
ResultBean resultBean = loanOverdueBankFeign.breakProcess(overdueBankApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(OverdueBankQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
OverdueBankApplyNodeQuery getNodeQuery = new OverdueBankApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<OverdueBankApplyNodeVo>> getPreviousNodesForReject = loanOverdueBankFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<OverdueBankApplyNodeVo>> getNextNodesForSubmit = loanOverdueBankFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

48
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduefin/OverdueFinRest.java

@ -0,0 +1,48 @@
package com.yxt.anrui.terminal.biz.risk.overduefin;
import com.yxt.anrui.terminal.api.risk.overduefin.OverdueFinFeign;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinDto;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Controller
@RequestMapping("/risk/v1/overduefin")
public class OverdueFinRest implements OverdueFinFeign {
@Autowired
private OverdueFinService overdueFinService;
@Override
public ResultBean agreeOverdueFin(OverdueFinDto dto) {
return overdueFinService.agreeOverdueFin(dto);
}
@Override
public ResultBean rejectOverdueFin(OverdueFinTaskQuery query) {
return overdueFinService.rejectOverdueFin(query);
}
@Override
public ResultBean recallOverdueFin(OverdueFinTaskQuery query) {
return overdueFinService.recallOverdueFin(query);
}
@Override
public ResultBean stopOverdueFin(OverdueFinTaskQuery query) {
return overdueFinService.stopOverdueFin(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(OverdueFinQuery query) {
return overdueFinService.getFlowOperateTitle(query);
}
}

102
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/overduefin/OverdueFinService.java

@ -0,0 +1,102 @@
package com.yxt.anrui.terminal.biz.risk.overduefin;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinFeign;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.CompleteDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinDto;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/4
**/
@Service
public class OverdueFinService {
@Autowired
private LoanOverdueFinFeign loanOverdueFinFeign;
public ResultBean agreeOverdueFin(OverdueFinDto dto) {
ResultBean rb = ResultBean.fireFail();
CompleteDto completeDto = new CompleteDto();
BeanUtil.copyProperties(dto, completeDto);
ResultBean resultBean = loanOverdueFinFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectOverdueFin(OverdueFinTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueApplyTaskQuery overdueApplyTaskQuery = new OverdueApplyTaskQuery();
BeanUtil.copyProperties(query, overdueApplyTaskQuery);
ResultBean resultBean = loanOverdueFinFeign.taskReject(overdueApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallOverdueFin(OverdueFinTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueApplyTaskQuery overdueApplyTaskQuery = new OverdueApplyTaskQuery();
BeanUtil.copyProperties(query, overdueApplyTaskQuery);
ResultBean resultBean = loanOverdueFinFeign.revokeProcess(overdueApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopOverdueFin(OverdueFinTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
OverdueApplyTaskQuery overdueApplyTaskQuery = new OverdueApplyTaskQuery();
BeanUtil.copyProperties(query, overdueApplyTaskQuery);
ResultBean resultBean = loanOverdueFinFeign.breakProcess(overdueApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(OverdueFinQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
OverdueApplyNodeQuery getNodeQuery = new OverdueApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<OverdueApplyNodeVo>> getPreviousNodesForReject = loanOverdueFinFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<OverdueApplyNodeVo>> getNextNodesForSubmit = loanOverdueFinFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}
Loading…
Cancel
Save