From b025e6eeaa2eb18cd2600dfe4552e64f79c45551 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 11 Sep 2023 20:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=96=B9=E4=BF=A1=E5=AE=A1=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E6=8E=A8=E9=80=81=E8=9E=8D=E8=B5=84=E6=94=BE=E6=AC=BE?= =?UTF-8?q?=E5=BA=94=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusSalesOrderLoancontractFeign.java | 4 ++ ...usSalesOrderLoancontractFeignFallback.java | 5 ++ .../LoanContractPush.java | 18 +++++ .../BusSalesOrderLoancontractRest.java | 5 ++ .../BusSalesOrderLoancontractService.java | 71 +++++++++++++++++++ .../api/loansolutions/LoanSolutionsFeign.java | 4 +- .../LoanSolutionsFeignFallback.java | 5 ++ .../riskcenter/api/loansolutions/PushVo.java | 19 +++++ .../LoanCapitalCreditResultService.java | 12 ++-- .../biz/loansolutions/LoanSolutionsRest.java | 6 ++ .../loansolutions/LoanSolutionsService.java | 54 ++++++++++++-- 11 files changed, 191 insertions(+), 12 deletions(-) create mode 100644 anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanContractPush.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/PushVo.java 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 dc06fd3301..f81bf8abd6 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 @@ -95,4 +95,8 @@ public interface BusSalesOrderLoancontractFeign { @ResponseBody public ResultBean> listPageForRepay(@RequestBody PagerQuery pq); + @ApiOperation("推送融资放款的应收") + @PostMapping("/pushLoanOrder") + @ResponseBody + ResultBean pushLoanOrder(@RequestBody LoanContractPush loanContractPush); } \ 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 4e44c7805c..ac6ebff43f 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 @@ -89,4 +89,9 @@ public class BusSalesOrderLoancontractFeignFallback implements BusSalesOrderLoan public ResultBean> listPageForRepay(PagerQuery pq) { return null; } + + @Override + public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { + return null; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanContractPush.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanContractPush.java new file mode 100644 index 0000000000..98756f22cd --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderloancontract/LoanContractPush.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.buscenter.api.bussalesorderloancontract; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/9/11 + **/ +@Data +public class LoanContractPush { + + @ApiModelProperty("消贷合同sid") + private String loanContractSid; + @ApiModelProperty("销售订单sid") + private String saleOrderSid; +} 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 6e340b277d..b883a12873 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 @@ -118,4 +118,9 @@ public class BusSalesOrderLoancontractRest implements BusSalesOrderLoancontractF PagerVo pv = busSalesOrderLoancontractService.listPageForRepay(pq); return rb.success().setData(pv); } + + @Override + public ResultBean pushLoanOrder(LoanContractPush loanContractPush) { + return busSalesOrderLoancontractService.pushLoanOrder(loanContractPush); + } } diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java index 21a7f79cb6..9bd79dc9bd 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractService.java @@ -28,15 +28,22 @@ package com.yxt.anrui.buscenter.biz.bussalesorderloancontract; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.*; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.riskcenter.api.loansolutions.PushVo; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -47,6 +54,7 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -72,6 +80,12 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService createQueryWrapper(BusSalesOrderLoancontractQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -238,4 +252,61 @@ public class BusSalesOrderLoancontractService extends MybatisBaseService resultBean = loanSolutionsFeign.selectMoney(saleOrderSid); + if(resultBean.getData() != null){ + PushVo pushVo = resultBean.getData(); + UnCollectionDto unCollectionDto = new UnCollectionDto(); + unCollectionDto.setContractNo(busSalesOrder.getContractNo()); +// unCollectionDto.setContractSid(contractSid); + //客户名称 + unCollectionDto.setCustomerName(busSalesOrder.getCustomerName()); + //客户sid + unCollectionDto.setCustomerSid(busSalesOrder.getCustomerSid()); + //客户类型 + unCollectionDto.setCustomerClass(busSalesOrder.getCustomerClass()); + //客户类型 + unCollectionDto.setCustomerClassKey(busSalesOrder.getCustomerClassKey()); + //客户头像 + unCollectionDto.setCustomerImage(busSalesOrder.getCustomerPhoto()); + unCollectionDto.setReceivablesName("融资放款"); + unCollectionDto.setCustomerPhone(busSalesOrder.getMobile()); + unCollectionDto.setUseOrgSid(busSalesOrder.getUseOrgSid()); + unCollectionDto.setVinNo(busSalesOrderVehicle.getLinkNo()); + unCollectionDto.setCurrentReceivableMoney(pushVo.getMoney()); + unCollectionDto.setUserSid(busSalesOrder.getCreateBySid()); + unCollectionDto.setReveivableMoney(pushVo.getMoney()); + unCollectionDto.setBusVinSid(busSalesOrderVehicle.getSid()); + unCollectionDto.setPayType(busSalesOrder.getPayType()); + unCollectionDto.setPayTypeKey(busSalesOrder.getPayTypeKey()); + unCollectionDto.setPurchaseSystemName(busSalesOrder.getPurchaseSystemName()); + unCollectionDto.setPurchaseSystemSid(busSalesOrder.getPurchaseSystemSid()); + unCollectionDto.setOrgSidPath(busSalesOrder.getOrgSidPath()); + unCollectionDto.setStaffUserSid(busSalesOrder.getCreateBySid()); + unCollectionDto.setStaffName(busSalesOrder.getStaffName()); + unCollectionDto.setStaffDeptName(busSalesOrder.getOrgName()); + unCollectionDto.setStaffDeptSid(busSalesOrder.getOrgSid()); + unCollectionDto.setUseOrgName(busSalesOrder.getUseOrgName()); + unCollectionDto.setKxState("01"); + if (StringUtils.isNotBlank(pushVo.getOtherReceivableMoney())) { + unCollectionDto.setOtherReceivableMoney(new BigDecimal(pushVo.getOtherReceivableMoney())); + } + finUncollectedDetailedFeign.saveUnCollection(unCollectionDto); + } + } + return rb.success(); + } } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java index 664e294f33..84ef5b4911 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java @@ -118,5 +118,7 @@ public interface LoanSolutionsFeign { @PostMapping("/details2") ResultBean details2(@RequestBody SolutionssQuery query); - + @ApiOperation("查询融资放款的金额") + @GetMapping("/selectMoney") + ResultBean selectMoney(@RequestParam("saleOrderSid") String saleOrderSid); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java index 6c245868d9..817721675d 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java @@ -88,6 +88,11 @@ public class LoanSolutionsFeignFallback implements LoanSolutionsFeign { return null; } + @Override + public ResultBean selectMoney(String saleOrderSid) { + return null; + } + /* @Override public ResultBean> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/PushVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/PushVo.java new file mode 100644 index 0000000000..f38b33a8ee --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/PushVo.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.riskcenter.api.loansolutions; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/9/11 + **/ +@Data +public class PushVo implements Vo { + private static final long serialVersionUID = 7612306872701336004L; + @ApiModelProperty("融资放款金额") + private String money; + @ApiModelProperty("厂家贴息金额") + private String otherReceivableMoney; +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java index cc6a7cbf12..9ebb3fe443 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancapitalcreditresult/LoanCapitalCreditResultService.java @@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.api.R; import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign; +import com.yxt.anrui.buscenter.api.bussalesorderloancontract.LoanContractPush; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatefile.LoanAttachTypeEnum; @@ -174,6 +175,13 @@ public class LoanCapitalCreditResultService extends MybatisBaseService selectMoney(String saleOrderSid) { + return loanSolutionsService.selectMoney(saleOrderSid); + } + /* @Override public ResultBean> listPage(@RequestBody PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index d1ead49eb8..a58d9b765a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -12,6 +12,7 @@ import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; +import com.yxt.anrui.riskcenter.api.loansolutions.PushVo; import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto; import com.yxt.anrui.riskcenter.api.loansolutions.app.*; import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateQuery; @@ -1782,9 +1783,9 @@ public class LoanSolutionsService extends MybatisBaseService selectMoney(String saleOrderSid) { + ResultBean rb = ResultBean.fireFail(); + PushVo pushVo = new PushVo(); + //融资放款=融资项目总额-融资首付-[贷款保证金]-[厂家贴息] + //根据选择的产品政策来判断,若贷款保证金为固定的,需要减去,若为敞口的,不需要减; + // 差额放款需要减厂家贴息,全额放款不需要。差额放款的厂家贴息金额存入“其他应收”字段中, + BigDecimal bg = BigDecimal.ZERO; + LoanSolutions loanSolutions = baseMapper.selectBySaleOrderSid(saleOrderSid); + if (loanSolutions != null) { + //根据产品政策sid查询 + bg = bg.add(loanSolutions.getLoanTotal()); + //查询融资首付 + LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = loanSolutionsOtherpolicyService.selectByLoanSid(loanSolutions.getSid()); + if (loanSolutionsOtherpolicy != null) { + bg = bg.subtract(loanSolutionsOtherpolicy.getLoanDownPay()); + } + //查询产品政策 + LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(loanSolutions.getPolicySid()); + if (loanFinPolicy != null) { + if ("01".equals(loanFinPolicy.getBondTypeKey())) {//01固定 + LoanSolutionsDetail loanSolutionsDetail = loanSolutionsDetailService.selectLoanSid(loanSolutions.getSid()); + if (loanSolutionsDetail != null) { + if (loanSolutionsDetail.getBondAmounts() != null) { + bg = bg.subtract(loanSolutionsDetail.getBondAmounts()); + } + } + } + if ("01".equals(loanFinPolicy.getDiscountUseTypeKey())) {//01差额放款 + if (loanSolutions.getFactoryDiscount() != null) { + bg = bg.subtract(loanSolutions.getFactoryDiscount()); + pushVo.setOtherReceivableMoney(loanSolutions.getFactoryDiscountUse()); + } + } + } + } + pushVo.setMoney(bg.toString()); + return rb.success().setData(pushVo); + } +