Browse Source

销售订单金融方案

master
dimengzhe 2 years ago
parent
commit
e85f7a43c3
  1. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java
  2. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java
  3. 162
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java
  4. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java
  5. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
  6. 1
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDto.java
  7. 165
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java
  8. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java
  9. 5
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java
  10. 16
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java

@ -1,9 +1,6 @@
package com.yxt.anrui.riskcenter.api.loansolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateVo;
import com.yxt.common.core.result.ResultBean;
@ -45,7 +42,7 @@ public interface LoanSolutionsFeign {
@ApiOperation("保存金融方案2")
@PostMapping("/save2")
ResultBean save2(@RequestBody SolutionsDto dto);
ResultBean save2(@RequestBody SolutionssDto dto);
@ApiOperation("根据销售订单sid查询金融方案")
@GetMapping("/selectDetailss")

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java

@ -1,9 +1,6 @@
package com.yxt.anrui.riskcenter.api.loansolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateVo;
import com.yxt.common.core.result.ResultBean;
@ -37,7 +34,7 @@ public class LoanSolutionsFeignFallback implements LoanSolutionsFeign {
}
@Override
public ResultBean save2(SolutionsDto dto) {
public ResultBean save2(SolutionssDto dto) {
return null;
}

162
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionssDto.java

@ -0,0 +1,162 @@
package com.yxt.anrui.riskcenter.api.loansolutions.app;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/15
**/
@Data
public class SolutionssDto implements Dto {
private static final long serialVersionUID = -4329637976311165379L;
@ApiModelProperty("关联sid")
private String busSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUseKey;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("贴息抵车款")
private String discountCar;
/*************************其他融和方案汇总*********************************/
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
/*********************************金融方案费用明细*****************************/
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java

@ -2,10 +2,7 @@ package com.yxt.anrui.riskcenter.biz.loansolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
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.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.calculate.CalculateVo;
import com.yxt.common.core.result.ResultBean;
@ -48,7 +45,7 @@ public class LoanSolutionsRest implements LoanSolutionsFeign {
}
@Override
public ResultBean save2(SolutionsDto dto) {
public ResultBean save2(SolutionssDto dto) {
return loanSolutionsService.save2(dto);
}

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

@ -837,15 +837,16 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
loanSolutions.setOtherPolicyState(1);
String loanDownPay = dto.getLoanDownPay();
loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO);
loanSolutionsOtherpolicy.setSolutionsSid(loanSolutions.getSid());
loanSolutionsOtherpolicyService.insert(loanSolutionsOtherpolicy);
} else {
BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid");
/*BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid");
String loanDownPay = dto.getLoanDownPay();
loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO);
loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO);*/
loanSolutions.setOtherPolicyState(0);
}
baseMapper.insert(loanSolutions);
loanSolutionsOtherpolicy.setSolutionsSid(loanSolutions.getSid());
loanSolutionsOtherpolicyService.insert(loanSolutionsOtherpolicy);
/***********************应收明细************************************/
LoanSolutionsDetail loanSolutionsDetail = new LoanSolutionsDetail();
BeanUtil.copyProperties(dto, loanSolutionsDetail, "sid");
@ -1397,10 +1398,10 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
return rate;
}
public ResultBean save2(SolutionsDto dto) {
public ResultBean save2(SolutionssDto dto) {
SolutionDetailsDto solutionDetailsDto = new SolutionDetailsDto();
BeanUtil.copyProperties(dto, solutionDetailsDto);
solutionDetailsDto.setBusSid(dto.getSaleOrderSid());
solutionDetailsDto.setBusSid(dto.getBusSid());
ResultBean resultBean = saveDtoss(solutionDetailsDto);
return resultBean;
}

1
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.risk.solutions;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

165
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java

@ -0,0 +1,165 @@
package com.yxt.anrui.terminal.api.risk.solutions;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/15
**/
@Data
public class AppSolutionssDto implements Dto {
private static final long serialVersionUID = 939727612021140148L;
@ApiModelProperty("关联sid")
@JsonProperty("saleOrderSid")
private String busSid;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("产品政策sid")
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUseKey;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
/*************************其他融和方案汇总*********************************/
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其他融sid")
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
/*********************************金融方案费用明细*****************************/
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收合计")
private String proxyTotal;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

7
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java

@ -26,6 +26,11 @@ public interface SolutionsFeign {
@ResponseBody
ResultBean save(@RequestBody AppSolutionsDto dto);
@ApiOperation("保存金融方案")
@PostMapping("/save2")
@ResponseBody
ResultBean save2(@RequestBody AppSolutionssDto dto);
@ApiOperation("初始化金融方案")
@GetMapping("/selectDetailsVo")
@ResponseBody
@ -47,7 +52,7 @@ public interface SolutionsFeign {
ResultBean<AppSolutionVo> selectDetailsVo2(@RequestParam("saleOrderSid") String busSid);
@ApiOperation("计算")
@GetMapping("/detailsVo2")
@PostMapping("/calc")
@ResponseBody
ResultBean<AppSolutionVo> detailsVo2(@RequestBody AppSolutionQuery query);

5
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java

@ -28,6 +28,11 @@ public class SolutionsRest implements SolutionsFeign {
return solutionsService.save(dto);
}
@Override
public ResultBean save2(AppSolutionssDto dto) {
return solutionsService.save2(dto);
}
@Override
public ResultBean<AppSolutionsDetailsVo> selectDetailsVo(String saleOrderSid) {
return solutionsService.selectDetailsVo(saleOrderSid);

16
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

@ -6,10 +6,7 @@ import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.OtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.PolicyVo;
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.SolutionsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.*;
import com.yxt.anrui.terminal.api.risk.solutions.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
@ -124,4 +121,15 @@ public class SolutionsService {
BeanUtil.copyProperties(solutionssVo, appSolutionVo);
return rb.success().setData(appSolutionVo);
}
public ResultBean save2(AppSolutionssDto dto) {
ResultBean rb = ResultBean.fireFail();
SolutionssDto solutionsDto = new SolutionssDto();
BeanUtil.copyProperties(dto, solutionsDto);
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
}

Loading…
Cancel
Save