From f1cb21c01f756e1480b0185cfec2f4ce501e20ce Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 6 Jul 2023 17:55:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9E=8D=E4=BA=A7=E5=93=81=E6=94=BF?= =?UTF-8?q?=E7=AD=96=E9=83=A8=E5=88=86=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanFinOtherPolicy.java | 59 ++++++++++++++ .../LoanFinOtherPolicyDto.java | 15 ++++ .../api/loanfinpolicy/LoanFinPolicy.java | 14 ++++ .../api/loanfinpolicy/LoanFinPolicyDto.java | 78 +++++++++++++++++++ .../api/loanfinpolicy/LoanFinPolicyFeign.java | 13 ++++ .../biz/loanfinpolicy/LoanFinPolicyRest.java | 17 ++++ .../loanfinpolicy/LoanFinPolicyService.java | 32 ++++++++ 7 files changed, 228 insertions(+) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java index c3191b2e4d..f04b81bab1 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java @@ -1,8 +1,11 @@ package com.yxt.anrui.riskcenter.api.loanfinotherPolicy; import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * @description: 其他融产品 * @author: dimengzhe @@ -11,4 +14,60 @@ import lombok.Data; @Data public class LoanFinOtherPolicy extends BaseEntity { private static final long serialVersionUID = 7109639024348200286L; + @ApiModelProperty("产品名称:组合(资方+产品类别+最高融资比例+期数)") + private String otherPolicyName; + @ApiModelProperty("资方sid") + private String bankSid; + @ApiModelProperty("资方名称") + private String bankShortName; + @ApiModelProperty("主产品sid") + private String mainPolicySid; + @ApiModelProperty("产品类别key") + private String productTypeKey; + @ApiModelProperty("产品类别value") + private String productTypeValue; + @ApiModelProperty("业务类型key") + private String busTypeKey; + @ApiModelProperty("业务类型value") + private String busTypeValue; + @ApiModelProperty("车辆大类key") + private String vehCategoryKey; + @ApiModelProperty("车辆大类value") + private String vehCategoryValue; + @ApiModelProperty("车辆功能key") + private String vehTypeKey; + @ApiModelProperty("车辆功能value") + private String vehTypeValue; + @ApiModelProperty("最高融资额比例(%)") + private String maxLoanRatio; + @ApiModelProperty("最高融资额") + private BigDecimal maxLoanAmount; + @ApiModelProperty("期数") + private int period; + @ApiModelProperty("年利率(%)") + private String yearRatio; + @ApiModelProperty("有效期至") + private String validDateTo; + @ApiModelProperty("报备状态:1已报备,0未报备") + private int filingState; + @ApiModelProperty("使用状态:1停用 0正常 各分公司设置的状态") + private int useSate; + @ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态") + private int riskState; + @ApiModelProperty("是否有其他融:1有,0无") + private int isOtherProduct; + @ApiModelProperty("适用销售部门sids(逗号分隔)") + private String useDeptSids; + @ApiModelProperty("适用销售部门名称(逗号分隔)") + private String useDeptNames; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("创建组织名称") + private String createOrgName; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("使用组织名称") + private String useOrgName; + + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java new file mode 100644 index 0000000000..1172e1191d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java @@ -0,0 +1,15 @@ +package com.yxt.anrui.riskcenter.api.loanfinotherPolicy; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Data +public class LoanFinOtherPolicyDto implements Dto { + private static final long serialVersionUID = -1420806288260489371L; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java index cefcd43a81..75cf278da4 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java @@ -72,4 +72,18 @@ public class LoanFinPolicy extends BaseEntity { private int useSate; @ApiModelProperty("风控状态:1禁用 0正常 风控中心设置的状态") private int riskState; + @ApiModelProperty("是否有其他融:1有,0无") + private int isOtherProduct; + @ApiModelProperty("适用销售部门sids(逗号分隔)") + private String useDeptSids; + @ApiModelProperty("适用销售部门名称(逗号分隔)") + private String useDeptNames; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("创建组织名称") + private String createOrgName; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("使用组织名称") + private String useOrgName; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java new file mode 100644 index 0000000000..c18a3b4ff5 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java @@ -0,0 +1,78 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicy; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Data +public class LoanFinPolicyDto implements Dto { + private static final long serialVersionUID = -1420806288260489371L; + private String sid; + @ApiModelProperty("政策名称:组合(资方简称+(担保/非担保)+首付比例+保证金比例+是否打包),如中车(担保)30+0打包") + private String policyName; + @ApiModelProperty("资方sid") + private String bankSid; + @ApiModelProperty("资方名称") + private String bankShortName; + @ApiModelProperty("业务类型key") + private String busTypeKey; + @ApiModelProperty("业务类型value") + private String busTypeValue; + @ApiModelProperty("车辆大类key") + private String vehCategoryKey; + @ApiModelProperty("车辆大类value") + private String vehCategoryValue; + @ApiModelProperty("车辆功能key") + private String vehTypeKey; + @ApiModelProperty("车辆功能value") + private String vehTypeValue; + @ApiModelProperty("是否打包:1打包、2不打包") + private int isPack; + @ApiModelProperty("担保类型key") + private String guaranteeTypeKey; + @ApiModelProperty("担保类型value") + private String guaranteeTypeValue; + /* @ApiModelProperty("是否车损上浮:1是0否。默认为0") + private int isVehFloat;*/ + @ApiModelProperty("单车意外险") + private BigDecimal vehAccidentAmount; + @ApiModelProperty("首付比例(%)") + private String downPayRatio; + /* @ApiModelProperty("最低首付比例(%)") + private String downPayRatioLeast;*/ + @ApiModelProperty("保证金比例(%)") + private String bondRatio; + @ApiModelProperty("期数") + private int period; + @ApiModelProperty("标准年利率(%)") + private String yearRatio; + @ApiModelProperty("服务费类型key") + private String serviceAmountTypeKey; + @ApiModelProperty("服务费类型value") + private String serviceAmountTypeValue; + @ApiModelProperty("服务费") + private BigDecimal serviceAmount; + @ApiModelProperty("保险保证金") + private BigDecimal depositPremium; + @ApiModelProperty("落户保证金") + private BigDecimal depositSettle; + @ApiModelProperty("名义/留购价款") + private BigDecimal nominalPrice; + @ApiModelProperty("有效期至") + private String validDateTo; + @ApiModelProperty("是否有其他融:1有,0无") + private int isOtherProduct; + @ApiModelProperty("适用销售部门sids(逗号分隔)") + private String useDeptSids; + @ApiModelProperty("适用销售部门名称(逗号分隔)") + private String useDeptNames; + @ApiModelProperty("全组织路径") + private String orgPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java index ea53f3b40f..8da94dc104 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java @@ -1,7 +1,12 @@ package com.yxt.anrui.riskcenter.api.loanfinpolicy; +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.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; /** * @description: @@ -15,4 +20,12 @@ import org.springframework.cloud.openfeign.FeignClient; path = "v1/LoanFinPolicy", fallback = LoanFinPolicyFeignFallback.class) public interface LoanFinPolicyFeign { + + @ApiOperation("保存修改") + @PostMapping("saveOrUpdate") + ResultBean saveOrUpdatePolicy(@RequestBody LoanFinPolicyDto dto); + + @ApiOperation("初始化、详情") + @PostMapping("details") + ResultBean details(@RequestParam("sid") String sid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java index e7143361d3..5f451136e3 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java @@ -1,7 +1,11 @@ package com.yxt.anrui.riskcenter.biz.loanfinpolicy; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyDto; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyFeign; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; +import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,4 +18,17 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("v1/LoanFinPolicy") public class LoanFinPolicyRest implements LoanFinPolicyFeign { + + @Autowired + private LoanFinPolicyService loanFinPolicyService; + + @Override + public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) { + return loanFinPolicyService.saveOrUpdatePolicy(dto); + } + + @Override + public ResultBean details(String sid) { + return loanFinPolicyService.details(sid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java index 562ef0b60b..963ad375b0 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java @@ -1,7 +1,12 @@ package com.yxt.anrui.riskcenter.biz.loanfinpolicy; +import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyDto; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVo; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; import org.springframework.stereotype.Service; /** @@ -11,4 +16,31 @@ import org.springframework.stereotype.Service; **/ @Service public class LoanFinPolicyService extends MybatisBaseService { + + public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) { + LoanFinPolicy loanFinPolicy = new LoanFinPolicy(); + BeanUtil.copyProperties(dto, loanFinPolicy, "sid"); + baseMapper.insert(loanFinPolicy); + } else { + LoanFinPolicy loanFinPolicy = fetchBySid(sid); + if (loanFinPolicy == null) { + return rb.setMsg("该金融产品政策不存在"); + } + BeanUtil.copyProperties(dto, loanFinPolicy, "sid"); + baseMapper.updateById(loanFinPolicy); + } + return rb.success(); + } + + public ResultBean details(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanFinPolicy loanFinPolicy = fetchBySid(sid); + if (loanFinPolicy == null) { + return rb.setMsg("该金融产品政策不存在"); + } + return null; + } }