From 4213f0464566235470545fb45d0df23779c8317c Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 22 Dec 2023 15:13:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E8=BF=98=E8=AE=A1=E6=8F=90=E4=BB=A3?= =?UTF-8?q?=E6=94=B6=E4=BB=A3=E4=BB=98=E7=A7=BB=E5=8A=A8=E7=AB=AF=E3=80=81?= =?UTF-8?q?=E8=B4=B7=E6=AC=BE=E9=87=8D=E6=8E=A8=E5=85=B6=E4=BB=96=E5=BA=94?= =?UTF-8?q?=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basevehicleout/BaseVehicleOutService.java | 63 +++++- .../BusSalesOrderLoancontractFeign.java | 7 + ...usSalesOrderLoancontractFeignFallback.java | 6 + .../BusSalesOrderLoancontractRest.java | 202 +++++++++--------- .../AppAccrualRecordVo.java | 24 +++ .../AppMonthAccrualDetailsVo.java | 24 +++ .../LoanMonthlyAccrualApplyFallback.java | 5 + .../LoanMonthlyAccrualApplyFeign.java | 5 + .../AppTransferPaymentDetailsVo.java | 24 +++ .../AppTransferRecordVo.java | 26 +++ .../LoanTransferPaymentApplyFeign.java | 4 + ...LoanTransferPaymentApplyFeignFallback.java | 5 + .../LoanTransferPaymentRecordVo.java | 2 +- .../LoanMonthlyAccrualApplyRest.java | 4 + .../LoanMonthlyAccrualApplyService.java | 89 ++++++++ .../LoanRepaymentHistoryService.java | 62 +++--- .../LoanTransferPaymentApplyRest.java | 5 + .../LoanTransferPaymentApplyService.java | 98 +++++++++ .../risk/monthaccrual/AccrualRecordVo.java | 23 ++ .../monthaccrual/MonthAccrualDetailsVo.java | 24 +++ .../risk/monthaccrual/MonthAccrualFeign.java | 67 ++++++ .../MonthAccrualFeignFallback.java | 52 +++++ .../flow/AppMonthAccrualDelegateQuery.java | 25 +++ .../flow/AppMonthAccrualTaskQuery.java | 46 ++++ .../flow/CompleteMonthAccrualDto.java | 35 +++ .../flow/MonthAccrualFlowableQuery.java | 21 ++ .../risk/transferpayment/PaymentRecordVo.java | 26 +++ .../TransferPaymentDetailsVo.java | 24 +++ .../transferpayment/TransferPaymentFeign.java | 67 ++++++ .../TransferPaymentFeignFallback.java | 52 +++++ .../flow/AppTransferPaymentDelegateQuery.java | 25 +++ .../flow/AppTransferPaymentTaskQuery.java | 46 ++++ .../flow/CompleteTransferPaymentDto.java | 35 +++ .../flow/TransferPaymentFlowableQuery.java | 21 ++ .../risk/monthaccrual/MonthAccrualRest.java | 68 ++++++ .../monthaccrual/MonthAccrualService.java | 157 ++++++++++++++ .../transferpayment/TransferPaymentRest.java | 68 ++++++ .../TransferPaymentService.java | 157 ++++++++++++++ 38 files changed, 1561 insertions(+), 133 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java index 867cbba40b..3aa9df3d07 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java @@ -32,10 +32,7 @@ import com.yxt.anrui.base.biz.commoncontract.CommonContractService; import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsVo; -import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApply; -import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailQuery; -import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailVo; -import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign; +import com.yxt.anrui.buscenter.api.busdeliveredapply.*; import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails; import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; @@ -69,8 +66,11 @@ import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoDetailsVo; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvestigateFeign; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerDetailsVo; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomerFeign; +import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo; +import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo; @@ -156,6 +156,10 @@ public class BaseVehicleOutService extends MybatisBaseService vehicleOut(BaseVehicleOutDto dto) { log.info("BaseVehicleOutService-vehicleOut-95:{}", JSONObject.toJSONString(dto)); @@ -2331,7 +2335,58 @@ public class BaseVehicleOutService extends MybatisBaseService detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); + if (null != detailsVoResultBean.getData()) { + if ("01".equals(detailsVoResultBean.getData().getTypeKey())) { + isLoan = "01"; + } else { + isLoan = "02"; + } + } + } + } + if (StringUtils.isNotBlank(isLoan)) { + String vinSid = vehicleOut.getVinSid(); + BusSalesOrderVehicle vehicle = busSalesOrderVehicleFeign.selectByOrderSidAndVehSid(orderSid, vinSid).getData(); + if (null != vehicle) { + PushOtherDocument push = new PushOtherDocument(); + push.setBusVinSid(vehicle.getSid()); + push.setVinSid(vehicle.getLinkSid()); + push.setOrderSid(busSalesOrder.getSid()); + String borrowerSid = vehicle.getBorrowerSid(); + if ("01".equals(isLoan)) { + LoanNoGuaranteeCreditReviewDetailsVo data = loanNoGuaranteeCreditReviewFeign.details(borrowerSid).getData(); + if (null != data) { + if (StringUtils.isNotBlank(data.getIsCompInvoic())) { + push.setIsKp(data.getIsCompInvoic()); + } else { + push.setIsKp("0"); + } + } + } else if ("02".equals(isLoan)) { + String isKp = loanHomevisitInvestigateFeign.selIsCompanyBuy(orderSid, borrowerSid).getData(); + if (StringUtils.isNotBlank(isKp)) { + push.setIsKp(isKp); + } else { + push.setIsKp("0"); + } + } + busSalesOrderLoancontractFeign.pushOtherDocument(push); + } + } + } } + } return rb.success(); diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java index 31a17780fb..6cc0f393ec 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeign.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.buscenter.api.bussalesorderloancontract; +import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; @@ -129,4 +130,10 @@ public interface BusSalesOrderLoancontractFeign { @PostMapping("/delByOrderSidAndDkrSid") @ResponseBody ResultBean delByOrderSidAndDkrSid(@RequestParam("saleOrderSid") String saleOrderSid,@RequestParam("borrowerSid") String borrowerSid); + + @ApiOperation("推送融资放款的其他应收单应收") + @PostMapping("/pushOtherDocument") + @ResponseBody + ResultBean pushOtherDocument(@RequestBody PushOtherDocument push); + } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java index 92a11f95c2..4e30c02b96 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/BusSalesOrderLoancontractFeignFallback.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.buscenter.api.bussalesorderloancontract; +import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -124,4 +125,9 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan public ResultBean delByOrderSidAndDkrSid(String saleOrderSid, String borrowerSid) { return null; } + + @Override + public ResultBean pushOtherDocument(PushOtherDocument push) { + return null; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java index 7ce07f9198..67c52ebfc6 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractRest.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.buscenter.biz.bussalesorderloancontract; +import com.yxt.anrui.buscenter.api.busdeliveredapply.PushOtherDocument; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -54,103 +55,110 @@ import java.util.List; @RequestMapping("v1/bussalesorderloancontract") public class BusSalesOrderLoancontractRest implements BusSalesOrderLoancontractFeign { - @Autowired - private BusSalesOrderLoancontractService busSalesOrderLoancontractService; - - @Override - @ApiOperation("根据条件分页查询数据的列表") - @PostMapping("/listPage") - public ResultBean> listPage(@RequestBody PagerQuery pq){ - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = busSalesOrderLoancontractService.listPageVo(pq); - return rb.success().setData(pv); - } - - @Override - @ApiOperation("新增或修改") - @PostMapping("/save") - public ResultBean save(@RequestBody BusSalesOrderLoancontractDto dto){ - ResultBean rb = ResultBean.fireFail(); - String sid = busSalesOrderLoancontractService.saveOrUpdateDto(dto); - return rb.success().setData(sid); - } - - @Override - @ApiOperation("根据sid批量删除") + @Autowired + private BusSalesOrderLoancontractService busSalesOrderLoancontractService; + + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = busSalesOrderLoancontractService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody BusSalesOrderLoancontractDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = busSalesOrderLoancontractService.saveOrUpdateDto(dto); + return rb.success().setData(sid); + } + + @Override + @ApiOperation("根据sid批量删除") @PostMapping("/delBySids") - public ResultBean delBySids(@RequestBody String[] sids){ - ResultBean rb = ResultBean.fireFail(); - busSalesOrderLoancontractService.delBySids(sids); - return rb.success(); - } - - @Override - @ApiOperation("根据SID获取一条记录") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + busSalesOrderLoancontractService.delBySids(sids); + return rb.success(); + } + + @Override + @ApiOperation("根据SID获取一条记录") @GetMapping("/fetchDetailsBySid/{sid}") - public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ - ResultBean rb = ResultBean.fireFail(); - BusSalesOrderLoancontractDetailsVo vo = busSalesOrderLoancontractService.fetchDetailsVoBySid(sid); - return rb.success().setData(vo); - } - - @Override - public ResultBean> selectByBorrowerSid(String saleOrderBorrowerSid) { - ResultBean rb = ResultBean.fireFail(); - List busSalesOrderLoancontractDetailsVos = busSalesOrderLoancontractService.selectByBorrowerSid(saleOrderBorrowerSid); - return rb.success().setData(busSalesOrderLoancontractDetailsVos); - } - - @Override - public ResultBean fetchDetailsByOrderSid(String sid) { - ResultBean rb = ResultBean.fireFail(); - BusSalesOrderLoancontract entity = busSalesOrderLoancontractService.fetchDetailsByOrderSid(sid); - return rb.success().setData(entity); - } - - @Override - public ResultBean updateBankConAndBusNo(String loanContractSid, String bankContractNo) { - return busSalesOrderLoancontractService.updateBankConAndBusNo(loanContractSid,bankContractNo); - } - - @Override - public ResultBean> listPageForRepay(PagerQuery pq) { - ResultBean rb = ResultBean.fireFail(); - PagerVo pv = busSalesOrderLoancontractService.listPageForRepay(pq); - return rb.success().setData(pv); - } - - @Override - public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { - return busSalesOrderLoancontractService.pushLoanOrder(loanContractPush); - } - - @Override - public ResultBean pushOtherReceivable(LoanOtherReceivablePush loanOtherReceivablePush) { - return busSalesOrderLoancontractService.pushOtherReceivable(loanOtherReceivablePush); - } - - @Override - public ResultBean> fetchAllByOrderSid(String sid) { - return busSalesOrderLoancontractService.fetchAllByOrderSid(sid); - } - - @Override - public ResultBean checkContractNo(String contractNo) { - return busSalesOrderLoancontractService.checkContractNo(contractNo); - } - - @Override - public ResultBean> fetchAllByBorrowerSid(String saleOrderBorrowerSid) { - return busSalesOrderLoancontractService.fetchAllByBorrowerSid(saleOrderBorrowerSid); - } - - @Override - public ResultBean> fetchAllByOrderSidAndDkrSid(String saleOrderSid, String saleOrderBorrowerSid) { - return busSalesOrderLoancontractService.fetchAllByOrderSidAndDkrSid(saleOrderSid,saleOrderBorrowerSid); - } - - @Override - public ResultBean delByOrderSidAndDkrSid(String saleOrderSid, String borrowerSid) { - return busSalesOrderLoancontractService.delByOrderSidAndDkrSid(saleOrderSid,borrowerSid); - } + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrderLoancontractDetailsVo vo = busSalesOrderLoancontractService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @Override + public ResultBean> selectByBorrowerSid(String saleOrderBorrowerSid) { + ResultBean rb = ResultBean.fireFail(); + List busSalesOrderLoancontractDetailsVos = busSalesOrderLoancontractService.selectByBorrowerSid(saleOrderBorrowerSid); + return rb.success().setData(busSalesOrderLoancontractDetailsVos); + } + + @Override + public ResultBean fetchDetailsByOrderSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrderLoancontract entity = busSalesOrderLoancontractService.fetchDetailsByOrderSid(sid); + return rb.success().setData(entity); + } + + @Override + public ResultBean updateBankConAndBusNo(String loanContractSid, String bankContractNo) { + return busSalesOrderLoancontractService.updateBankConAndBusNo(loanContractSid, bankContractNo); + } + + @Override + public ResultBean> listPageForRepay(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = busSalesOrderLoancontractService.listPageForRepay(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { + return busSalesOrderLoancontractService.pushLoanOrder(loanContractPush); + } + + @Override + public ResultBean pushOtherReceivable(LoanOtherReceivablePush loanOtherReceivablePush) { + return busSalesOrderLoancontractService.pushOtherReceivable(loanOtherReceivablePush); + } + + @Override + public ResultBean> fetchAllByOrderSid(String sid) { + return busSalesOrderLoancontractService.fetchAllByOrderSid(sid); + } + + @Override + public ResultBean checkContractNo(String contractNo) { + return busSalesOrderLoancontractService.checkContractNo(contractNo); + } + + @Override + public ResultBean> fetchAllByBorrowerSid(String saleOrderBorrowerSid) { + return busSalesOrderLoancontractService.fetchAllByBorrowerSid(saleOrderBorrowerSid); + } + + @Override + public ResultBean> fetchAllByOrderSidAndDkrSid(String saleOrderSid, String saleOrderBorrowerSid) { + return busSalesOrderLoancontractService.fetchAllByOrderSidAndDkrSid(saleOrderSid, saleOrderBorrowerSid); + } + + @Override + public ResultBean delByOrderSidAndDkrSid(String saleOrderSid, String borrowerSid) { + return busSalesOrderLoancontractService.delByOrderSidAndDkrSid(saleOrderSid, borrowerSid); + } + + @Override + public ResultBean pushOtherDocument(PushOtherDocument push) { + ResultBean rb = ResultBean.fireFail(); + busSalesOrderLoancontractService.pushOtherDocument(push); + return rb.success(); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java new file mode 100644 index 0000000000..cefd3b10c2 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppAccrualRecordVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/12/22 9:22 + */ +@Data +public class AppAccrualRecordVo { + + private String contractId; + private String instalments; + private String vin; + private String zf; + private String zfNo; + private String cusName; + private String loanName; + private String repaymentDate; + private String dept; + private String dueMoney; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java new file mode 100644 index 0000000000..bfa3387c90 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AppMonthAccrualDetailsVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply; + +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/12/22 8:58 + */ +@Data +public class AppMonthAccrualDetailsVo { + private String sid; + private String publishInfo; + private String time; + private String remarks; + private List files = new ArrayList<>(); + private String taskId; + private String procInsId; + private List records = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java index c1478e0bcf..ab5dcb526a 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java @@ -86,5 +86,10 @@ public class LoanMonthlyAccrualApplyFallback implements LoanMonthlyAccrualApplyF return null; } + @Override + public ResultBean appDetail(String sid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java index 5c2224a379..8231f622b0 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java @@ -90,4 +90,9 @@ public interface LoanMonthlyAccrualApplyFeign { @ApiOperation(value = "加签") @PostMapping(value = "/delegate") public ResultBean delegate(@RequestBody AccrualDelegateQuery query); + + @ApiOperation("月还计提申请移动端详情") + @GetMapping("/appDetail/{sid}") + @ResponseBody + ResultBean appDetail(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java new file mode 100644 index 0000000000..8e6ce77532 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferPaymentDetailsVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply; + +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppAccrualRecordVo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2023/12/22 9:11 + */ +@Data +public class AppTransferPaymentDetailsVo { + private String sid; + private String publishInfo; + private String time; + private String remarks; + private List files = new ArrayList<>(); + private String taskId; + private String procInsId; + private List records = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java new file mode 100644 index 0000000000..7309518532 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/AppTransferRecordVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loantransferpaymentapply; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2023/12/22 9:23 + */ +@Data +public class AppTransferRecordVo { + private String contractId; + private String instalments; + private String vin; + private String zf; + private String zfNo; + private String cusName; + private String loanName; + private String actualDate; + private String actualMoney; + private String spread; + private String transferPrincipal; + private String defaultInterest; + private String account; + private String accountNumber; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java index 1141df38be..fd5c41209f 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeign.java @@ -92,4 +92,8 @@ public interface LoanTransferPaymentApplyFeign { @PostMapping(value = "/delegate") public ResultBean delegate(@RequestBody TransferDelegateQuery query); + @ApiOperation("代收代付申请移动端详情") + @GetMapping("/appDetail/{sid}") + @ResponseBody + ResultBean appDetail(@PathVariable("sid") String sid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java index 2b77067dd5..ddeeca1a69 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentApplyFeignFallback.java @@ -85,4 +85,9 @@ public class LoanTransferPaymentApplyFeignFallback implements LoanTransferPaymen public ResultBean delegate(TransferDelegateQuery query) { return null; } + + @Override + public ResultBean appDetail(String sid) { + return null; + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java index b5212c5b44..d8586cbd1f 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantransferpaymentapply/LoanTransferPaymentRecordVo.java @@ -30,7 +30,7 @@ public class LoanTransferPaymentRecordVo { private String actualMoney; @ApiModelProperty("息差") private String spread; - @ApiModelProperty("转付本金") + @ApiModelProperty("转付资方月还") private String transferPrincipal; @ApiModelProperty("转付罚息") private String defaultInterest; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java index 8f348986ad..c336072aa8 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java @@ -99,6 +99,10 @@ public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign return loanMonthlyAccrualApplyService.delegate(query); } + @Override + public ResultBean appDetail(String sid) { + return loanMonthlyAccrualApplyService.appDetail(sid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java index 44286a7900..22abcffa9b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java @@ -26,11 +26,16 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppRecordVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.*; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; @@ -830,4 +835,88 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService appDetail(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppMonthAccrualDetailsVo vo = new AppMonthAccrualDetailsVo(); + LoanMonthlyAccrualApply apply = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != apply) { + vo.setSid(sid); + String dept = ""; + String applyName = ""; + if (StringUtils.isNotBlank(apply.getRemarks())) { + vo.setRemarks(apply.getRemarks()); + } + if (StringUtils.isNotBlank(apply.getProcInstId())) { + vo.setProcInsId(apply.getProcInstId()); + } + if (StringUtils.isNotBlank(apply.getTaskId())) { + vo.setTaskId(apply.getTaskId()); + } + if (null != apply.getApplyDate()) { + vo.setTime(sdf.format(apply.getApplyDate())); + } + if (StringUtils.isNotBlank(apply.getDept())) { + dept = apply.getDept(); + } + if (StringUtils.isNotBlank(apply.getApplyName())) { + applyName = apply.getApplyName(); + } + vo.setPublishInfo(dept + "-" + applyName); + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.ACCRUALAPPLY.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + vo.setFiles(files); + } + List applyRecords = loanMonthlyAccrualRecordService.selByMainSid(sid); + List records = new ArrayList<>(); + if (!applyRecords.isEmpty()) { + for (LoanMonthlyAccrualRecord applyRecord : applyRecords) { + String recordSid = applyRecord.getRecordSid(); + LoanRepaymentPlanDetails data = loanRepaymentPlanDetailsService.fetchBySid(recordSid); + if (null != data) { + AppAccrualRecordVo appRecordVo = new AppAccrualRecordVo(); + if (StringUtils.isNotBlank(data.getLoanContractNo())) { + appRecordVo.setContractId(data.getLoanContractNo()); + } + if (null != data.getDueDate()) { + appRecordVo.setRepaymentDate(sdf.format(data.getDueDate())); + } + if (StringUtils.isNotBlank(data.getPeriod())) { + appRecordVo.setInstalments("期数:" + data.getPeriod()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + appRecordVo.setVin("车架号:" + data.getVinNo()); + } + if (StringUtils.isNotBlank(data.getBankName())) { + appRecordVo.setZf(data.getBankName()); + } + if (StringUtils.isNotBlank(data.getBankContractNo())) { + appRecordVo.setZfNo(data.getBankContractNo()); + } + if (StringUtils.isNotBlank(data.getCustomer())) { + appRecordVo.setCusName(data.getCustomer()); + } + if (StringUtils.isNotBlank(data.getBorrowerName())) { + appRecordVo.setLoanName(data.getBorrowerName()); + } + if (null != data.getDueMoney()) { + appRecordVo.setDueMoney(String.valueOf(data.getDueMoney())); + } + if (StringUtils.isNotBlank(data.getBorrowerName())) { + appRecordVo.setLoanName(data.getBorrowerName()); + } + if (StringUtils.isNotBlank(data.getDept())) { + appRecordVo.setDept(data.getDept()); + } + records.add(appRecordVo); + } + } + } + vo.setRecords(records); + } + return rb.success().setData(vo); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java index d41cb3f322..790123d376 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java @@ -790,37 +790,37 @@ public class LoanRepaymentHistoryService extends MybatisBaseService defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { - //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) - String orgSidPath = pagerQuery.getOrgPath(); - orgSidPath = orgSidPath + "/"; - int i1 = orgSidPath.indexOf("/"); - int i2 = orgSidPath.indexOf("/", i1 + 1); - int i3 = orgSidPath.indexOf("/", i2 + 1); - int i4 = orgSidPath.indexOf("/", i3 + 1); - String orgLevelKey = defaultIdReltBean.getData(); - if ("1".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i1); - qw.like("p.orgSidPath", orgSidPath); - } else if ("2".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i2); - qw.like("p.orgSidPath", orgSidPath); - } else if ("3".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i3); - qw.like("p.orgSidPath", orgSidPath); - } else if ("4".equals(orgLevelKey)) { - orgSidPath = orgSidPath.substring(0, i4); - qw.like("p.orgSidPath", orgSidPath); - } else if ("5".equals(orgLevelKey)) { - qw.eq("p.salesUserSid", pagerQuery.getUserSid()); - } else { - PagerVo p = new PagerVo<>(); - return p; - } - } else { - PagerVo p = new PagerVo<>(); - return p; - } +// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { +// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) +// String orgSidPath = pagerQuery.getOrgPath(); +// orgSidPath = orgSidPath + "/"; +// int i1 = orgSidPath.indexOf("/"); +// int i2 = orgSidPath.indexOf("/", i1 + 1); +// int i3 = orgSidPath.indexOf("/", i2 + 1); +// int i4 = orgSidPath.indexOf("/", i3 + 1); +// String orgLevelKey = defaultIdReltBean.getData(); +// if ("1".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i1); +// qw.like("p.orgSidPath", orgSidPath); +// } else if ("2".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i2); +// qw.like("p.orgSidPath", orgSidPath); +// } else if ("3".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i3); +// qw.like("p.orgSidPath", orgSidPath); +// } else if ("4".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i4); +// qw.like("p.orgSidPath", orgSidPath); +// } else if ("5".equals(orgLevelKey)) { +// qw.eq("p.salesUserSid", pagerQuery.getUserSid()); +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } //======================= if (StringUtils.isNotBlank(pagerQuery.getType())) { String type = pagerQuery.getType(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java index 9d2cc48950..91fc8518bf 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyRest.java @@ -102,4 +102,9 @@ public class LoanTransferPaymentApplyRest implements LoanTransferPaymentApplyFei return loanTransferPaymentApplyService.delegate(query); } + @Override + public ResultBean appDetail(String sid) { + return loanTransferPaymentApplyService.appDetail(sid); + } + } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java index 1bbb895036..519901172a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java @@ -27,7 +27,12 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppAccrualRecordVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.*; import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord; @@ -823,4 +828,97 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService appDetail(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppTransferPaymentDetailsVo vo = new AppTransferPaymentDetailsVo(); + LoanTransferPaymentApply apply = fetchBySid(sid); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != apply) { + vo.setSid(sid); + String dept = ""; + String applyName = ""; + if (StringUtils.isNotBlank(apply.getRemarks())) { + vo.setRemarks(apply.getRemarks()); + } + if (StringUtils.isNotBlank(apply.getProcInstId())) { + vo.setProcInsId(apply.getProcInstId()); + } + if (StringUtils.isNotBlank(apply.getTaskId())) { + vo.setTaskId(apply.getTaskId()); + } + if (null != apply.getApplyDate()) { + vo.setTime(sdf.format(apply.getApplyDate())); + } + if (StringUtils.isNotBlank(apply.getDept())) { + dept = apply.getDept(); + } + if (StringUtils.isNotBlank(apply.getApplyName())) { + applyName = apply.getApplyName(); + } + vo.setPublishInfo(dept + "-" + applyName); + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.TRANSFERPAYMENT.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + vo.setFiles(files); + } + List applyRecords = loanTransferPaymentRecordService.selByMainSid(sid); + List records = new ArrayList<>(); + if (!applyRecords.isEmpty()) { + for (LoanTransferPaymentRecord applyRecord : applyRecords) { + String historySid = applyRecord.getRepaymentHistorySid(); + LoanTransferPaymentRecordVo data = baseMapper.paymentInfo(historySid); + if (null != data) { + AppTransferRecordVo appRecordVo = new AppTransferRecordVo(); + if (StringUtils.isNotBlank(data.getLoanContractNo())) { + appRecordVo.setContractId(data.getLoanContractNo()); + } + if (StringUtils.isNotBlank(data.getPeriod())) { + appRecordVo.setInstalments("期数:" + data.getPeriod()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + appRecordVo.setVin("车架号:" + data.getVinNo()); + } + if (StringUtils.isNotBlank(data.getBankName())) { + appRecordVo.setZf(data.getBankName()); + } + if (StringUtils.isNotBlank(data.getBankContractNo())) { + appRecordVo.setZfNo(data.getBankContractNo()); + } + if (StringUtils.isNotBlank(data.getCustomer())) { + appRecordVo.setCusName(data.getCustomer()); + } + if (StringUtils.isNotBlank(data.getBorrowerName())) { + appRecordVo.setLoanName(data.getBorrowerName()); + } + if (StringUtils.isNotBlank(data.getActualDate())) { + appRecordVo.setActualDate(data.getActualDate()); + } + if (StringUtils.isNotBlank(data.getActualMoney())) { + appRecordVo.setActualMoney(data.getActualMoney()); + } + if (StringUtils.isNotBlank(data.getSpread())) { + appRecordVo.setSpread(data.getSpread()); + } + if (StringUtils.isNotBlank(data.getTransferPrincipal())) { + appRecordVo.setTransferPrincipal(data.getTransferPrincipal()); + } + if (StringUtils.isNotBlank(data.getDefaultInterest())) { + appRecordVo.setDefaultInterest(data.getDefaultInterest()); + } + if (StringUtils.isNotBlank(data.getAccount())) { + appRecordVo.setAccount(data.getAccount()); + } + if (StringUtils.isNotBlank(data.getAccountNumber())) { + appRecordVo.setAccountNumber(data.getAccountNumber()); + } + records.add(appRecordVo); + } + } + } + vo.setRecords(records); + } + return rb.success().setData(vo); + } } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java new file mode 100644 index 0000000000..e5e50c947b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/AccrualRecordVo.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/13 15:45 + */ +@Data +public class AccrualRecordVo { + private String contractId; + private String instalments; + private String vin; + private String zf; + private String zfNo; + private String cusName; + private String loanName; + private String repaymentDate; + private String dept; + private String dueMoney; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java new file mode 100644 index 0000000000..efdca598fb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualDetailsVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 15:38 + */ +@Data +public class MonthAccrualDetailsVo implements Vo { + private String sid; + private String publishInfo; + private String time; + private String remarks; + private List files = new ArrayList<>(); + private String taskId; + private String procInsId; + private List records = new ArrayList<>(); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java new file mode 100644 index 0000000000..c36337bab1 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeign.java @@ -0,0 +1,67 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual; + + +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @description: + * @author: fzz + * @date: 2023/8/8 + **/ +@Api(tags = "月还计提") +@FeignClient( + contextId = "terminal-MonthAccrual", + name = "anrui-terminal", + path = "/riskcenter/v1/monthaccrual", + fallback = MonthAccrualFeignFallback.class) +public interface MonthAccrualFeign { + + + @ApiOperation("划扣申请") + @GetMapping("/detail/{sid}") + @ResponseBody + ResultBean detail(@PathVariable("sid") String sid); + + //-------------------------流程----------------------------------------- + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@Valid @RequestBody CompleteMonthAccrualDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@Valid @RequestBody AppMonthAccrualTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@Valid @SpringQueryMap MonthAccrualFlowableQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppMonthAccrualDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java new file mode 100644 index 0000000000..2d78f85a3f --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/MonthAccrualFeignFallback.java @@ -0,0 +1,52 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual; + +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: fzz + * @date: + **/ +@Component +public class MonthAccrualFeignFallback implements MonthAccrualFeign { + + @Override + public ResultBean detail(String sid) { + return null; + } + + @Override + public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) { + return null; + } + + @Override + public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) { + return null; + } + + @Override + public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) { + return null; + } + + @Override + public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) { + return null; + } + + @Override + public ResultBean getFlowOperateTitle(MonthAccrualFlowableQuery query) { + return null; + } + + @Override + public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) { + return null; + } +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java new file mode 100644 index 0000000000..6450ddc60d --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppMonthAccrualDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java new file mode 100644 index 0000000000..cc40e2f2aa --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/AppMonthAccrualTaskQuery.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:14 + */ +@Data +public class AppMonthAccrualTaskQuery implements Query { + /** + * 终止、驳回、撤回 + */ + @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; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java new file mode 100644 index 0000000000..9e10ebc780 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/CompleteMonthAccrualDto.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual.flow; + +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; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:13 + */ +@Data +public class CompleteMonthAccrualDto 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; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java new file mode 100644 index 0000000000..fbbc6dec7e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/monthaccrual/flow/MonthAccrualFlowableQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.terminal.api.risk.monthaccrual.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class MonthAccrualFlowableQuery implements Query { + private static final long serialVersionUID = -5879668616710833830L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java new file mode 100644 index 0000000000..bcabb8fee8 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/PaymentRecordVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/13 15:45 + */ +@Data +public class PaymentRecordVo { + private String contractId; + private String instalments; + private String vin; + private String zf; + private String zfNo; + private String cusName; + private String loanName; + private String actualDate; + private String actualMoney; + private String spread; + private String transferPrincipal; + private String defaultInterest; + private String account; + private String accountNumber; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java new file mode 100644 index 0000000000..f92d45d888 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentDetailsVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/11/13 15:38 + */ +@Data +public class TransferPaymentDetailsVo implements Vo { + private String sid; + private String publishInfo; + private String time; + private String remarks; + private List files = new ArrayList<>(); + private String taskId; + private String procInsId; + private List records = new ArrayList<>(); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java new file mode 100644 index 0000000000..85c52d23ce --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeign.java @@ -0,0 +1,67 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment; + + +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @description: + * @author: fzz + * @date: 2023/8/8 + **/ +@Api(tags = "代收代付审批") +@FeignClient( + contextId = "terminal-TransferPayment", + name = "anrui-terminal", + path = "/riskcenter/v1/transferpayment", + fallback = TransferPaymentFeignFallback.class) +public interface TransferPaymentFeign { + + + @ApiOperation("划扣申请") + @GetMapping("/detail/{sid}") + @ResponseBody + ResultBean detail(@PathVariable("sid") String sid); + + //-------------------------流程----------------------------------------- + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@Valid @RequestBody CompleteTransferPaymentDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@Valid @RequestBody AppTransferPaymentTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@Valid @SpringQueryMap TransferPaymentFlowableQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppTransferPaymentDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java new file mode 100644 index 0000000000..8f8f1a0080 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/TransferPaymentFeignFallback.java @@ -0,0 +1,52 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment; + +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: fzz + * @date: + **/ +@Component +public class TransferPaymentFeignFallback implements TransferPaymentFeign { + + @Override + public ResultBean detail(String sid) { + return null; + } + + @Override + public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) { + return null; + } + + @Override + public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) { + return null; + } + + @Override + public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) { + return null; + } + + @Override + public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) { + return null; + } + + @Override + public ResultBean getFlowOperateTitle(TransferPaymentFlowableQuery query) { + return null; + } + + @Override + public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) { + return null; + } +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java new file mode 100644 index 0000000000..28f1b2e7cd --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppTransferPaymentDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java new file mode 100644 index 0000000000..273909f26a --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/AppTransferPaymentTaskQuery.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:14 + */ +@Data +public class AppTransferPaymentTaskQuery implements Query { + /** + * 终止、驳回、撤回 + */ + @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; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java new file mode 100644 index 0000000000..62bd5f01ab --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/CompleteTransferPaymentDto.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment.flow; + +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; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:13 + */ +@Data +public class CompleteTransferPaymentDto 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; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java new file mode 100644 index 0000000000..8333014164 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/transferpayment/flow/TransferPaymentFlowableQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.terminal.api.risk.transferpayment.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class TransferPaymentFlowableQuery implements Query { + private static final long serialVersionUID = -5879668616710833830L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java new file mode 100644 index 0000000000..cc4a297847 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualRest.java @@ -0,0 +1,68 @@ +package com.yxt.anrui.terminal.biz.risk.monthaccrual; + + +import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo; +import com.yxt.anrui.terminal.api.risk.buckle.BuckleFeign; +import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo; +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualFeign; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +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: fzz + * @date: + **/ +@Controller +@RequestMapping("/riskcenter/v1/monthaccrual") +public class MonthAccrualRest implements MonthAccrualFeign { + + @Autowired + private MonthAccrualService monthAccrualService; + + + @Override + public ResultBean detail(String sid) { + return monthAccrualService.detail(sid); + } + + @Override + public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) { + return monthAccrualService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) { + return monthAccrualService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) { + return monthAccrualService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) { + return monthAccrualService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(MonthAccrualFlowableQuery query) { + return monthAccrualService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) { + return monthAccrualService.delegate(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java new file mode 100644 index 0000000000..4a8c94e8fe --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/monthaccrual/MonthAccrualService.java @@ -0,0 +1,157 @@ +package com.yxt.anrui.terminal.biz.risk.monthaccrual; + + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyFeign; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*; +import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo; +import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery; +import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +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: fzz + * @date: + **/ +@Service +public class MonthAccrualService { + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private LoanMonthlyAccrualApplyFeign loanMonthlyAccrualApplyFeign; + + public ResultBean detail(String sid) { + ResultBean rb = ResultBean.fireFail(); + MonthAccrualDetailsVo vo = new MonthAccrualDetailsVo(); + AppMonthAccrualDetailsVo data = loanMonthlyAccrualApplyFeign.appDetail(sid).getData(); + if (null != data) { + BeanUtil.copyProperties(data, vo); + } + return rb.success().setData(vo); + } + + + public ResultBean agreeCreditInfo(CompleteMonthAccrualDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + AccrualCompleteDto completeDto = new + AccrualCompleteDto(); + BeanUtil.copyProperties(dto, completeDto); + completeDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = loanMonthlyAccrualApplyFeign.complete(completeDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppMonthAccrualTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + AccrualTaskQuery taskQuery = new + AccrualTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanMonthlyAccrualApplyFeign.taskReject(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppMonthAccrualTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + AccrualTaskQuery taskQuery = new + AccrualTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanMonthlyAccrualApplyFeign.revokeProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppMonthAccrualTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + AccrualTaskQuery taskQuery = new + AccrualTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanMonthlyAccrualApplyFeign.breakProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(MonthAccrualFlowableQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + AccrualGetNodeQuery getNodeQuery = new + AccrualGetNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = loanMonthlyAccrualApplyFeign.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> getNextNodesForSubmit = loanMonthlyAccrualApplyFeign.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); + } + + public ResultBean delegate(AppMonthAccrualDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + AccrualDelegateQuery delegateQuery1 = new + AccrualDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + ResultBean delegate = loanMonthlyAccrualApplyFeign.delegate(delegateQuery1); + return rb.success(); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java new file mode 100644 index 0000000000..b5c4e18406 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentRest.java @@ -0,0 +1,68 @@ +package com.yxt.anrui.terminal.biz.risk.transferpayment; + + +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo; +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualFeign; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentDetailsVo; +import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentFeign; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery; +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: fzz + * @date: + **/ +@Controller +@RequestMapping("/riskcenter/v1/transferpayment") +public class TransferPaymentRest implements TransferPaymentFeign { + + @Autowired + private TransferPaymentService transferPaymentService; + + + @Override + public ResultBean detail(String sid) { + return transferPaymentService.detail(sid); + } + + @Override + public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) { + return transferPaymentService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) { + return transferPaymentService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) { + return transferPaymentService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) { + return transferPaymentService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(TransferPaymentFlowableQuery query) { + return transferPaymentService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) { + return transferPaymentService.delegate(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java new file mode 100644 index 0000000000..5494468793 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/transferpayment/TransferPaymentService.java @@ -0,0 +1,157 @@ +package com.yxt.anrui.terminal.biz.risk.transferpayment; + + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.AppTransferPaymentDetailsVo; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.LoanTransferPaymentApplyFeign; +import com.yxt.anrui.riskcenter.api.loantransferpaymentapply.flow.*; +import com.yxt.anrui.terminal.api.risk.monthaccrual.MonthAccrualDetailsVo; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualDelegateQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.AppMonthAccrualTaskQuery; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.CompleteMonthAccrualDto; +import com.yxt.anrui.terminal.api.risk.monthaccrual.flow.MonthAccrualFlowableQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.TransferPaymentDetailsVo; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentDelegateQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.AppTransferPaymentTaskQuery; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.CompleteTransferPaymentDto; +import com.yxt.anrui.terminal.api.risk.transferpayment.flow.TransferPaymentFlowableQuery; +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: fzz + * @date: + **/ +@Service +public class TransferPaymentService { + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private LoanTransferPaymentApplyFeign loanTransferPaymentApplyFeign; + + public ResultBean detail(String sid) { + ResultBean rb = ResultBean.fireFail(); + TransferPaymentDetailsVo vo = new TransferPaymentDetailsVo(); + AppTransferPaymentDetailsVo data = loanTransferPaymentApplyFeign.appDetail(sid).getData(); + if (null != data) { + BeanUtil.copyProperties(data, vo); + } + return rb.success().setData(vo); + } + + + public ResultBean agreeCreditInfo(CompleteTransferPaymentDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + TransferCompleteDto completeDto = new + TransferCompleteDto(); + BeanUtil.copyProperties(dto, completeDto); + completeDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = loanTransferPaymentApplyFeign.complete(completeDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppTransferPaymentTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TransferTaskQuery taskQuery = new + TransferTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanTransferPaymentApplyFeign.taskReject(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppTransferPaymentTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TransferTaskQuery taskQuery = new + TransferTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanTransferPaymentApplyFeign.revokeProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppTransferPaymentTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TransferTaskQuery taskQuery = new + TransferTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanTransferPaymentApplyFeign.breakProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(TransferPaymentFlowableQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + TransferGetNodeQuery getNodeQuery = new + TransferGetNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = loanTransferPaymentApplyFeign.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> getNextNodesForSubmit = loanTransferPaymentApplyFeign.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); + } + + public ResultBean delegate(AppTransferPaymentDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + TransferDelegateQuery delegateQuery1 = new + TransferDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + ResultBean delegate = loanTransferPaymentApplyFeign.delegate(delegateQuery1); + return rb.success(); + } +}