Browse Source

金融产品政策部分代码

master
dimengzhe 2 years ago
parent
commit
f868d47478
  1. 45
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  2. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java
  3. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyVo.java
  4. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
  5. 15
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyQuery.java
  7. 64
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
  8. 57
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVos.java
  9. 17
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/UseDept.java
  10. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.java
  11. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml
  12. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyService.java
  13. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.java
  14. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml
  15. 23
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java
  16. 154
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

45
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -491,14 +491,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//认款日期默认为当天的日期
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today());
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed);
if(v.getSubscribedOf() == 0){
if (v.getSubscribedOf() == 0) {
//应收未收减去相应的认款
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
}
});
}
finCollectionConfirmation.setBalance(finCollectionConfirmation.getCollectionMoney());
@ -535,7 +535,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailed.setCreateBySid(dto.getUserSid());
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today());
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed);
if(v.getSubscribedOf() == 0){
if (v.getSubscribedOf() == 0) {
//应收未收减去相应的认款
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
@ -1005,7 +1005,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailed.setCustomerSid(paymentDetail.getCustomerSid());
finSelectedReceivablesDetailed.setSubscribedOf(paymentDetail.getSubscribedOf());
finSelectedReceivablesDetailedService.save(finSelectedReceivablesDetailed);
if(paymentDetail.getSubscribedOf() == 0){
if (paymentDetail.getSubscribedOf() == 0) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(finSelectedReceivablesDetailed.getSubscriptionMoney());
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
@ -1140,8 +1140,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//分页
IPage<AppFinUncollectedReceivablesDetailedVo> page1 = new Page<>();
page1.setTotal(collList.size());
page1.setPages(collList.size()/pagerQuery.getSize()+(collList.size()%pagerQuery.getSize()==0?0:1));
collList = collList.stream().skip((pagerQuery.getCurrent() - 1) *pagerQuery.getSize()).limit(pagerQuery.getSize()).collect(Collectors.toList()); //开始分页
page1.setPages(collList.size() / pagerQuery.getSize() + (collList.size() % pagerQuery.getSize() == 0 ? 0 : 1));
collList = collList.stream().skip((pagerQuery.getCurrent() - 1) * pagerQuery.getSize()).limit(pagerQuery.getSize()).collect(Collectors.toList()); //开始分页
page1.setRecords(collList);
page1.setCurrent(pagerQuery.getCurrent());
page1.setSize(pagerQuery.getSize());
@ -1183,7 +1183,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailed.setAuditState(2);
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
if(v.getSubscribedOf() == 0){
if (v.getSubscribedOf() == 0) {
//应收未收将款项加回来
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(finSelectedReceivablesDetailed.getSubscriptionMoney());
@ -1230,6 +1230,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (confirmation == null) {
return rb.setMsg("该申请不存在");
}
finSelectedReceivablesDetailedService.updateAuditStateBySid(1, sid);
//推送收款单
ARReceivebill arReceivebill = new ARReceivebill();
//业务日期
@ -1430,7 +1431,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
//ToDo:查询是否符合待出库的条件
//该合同编号下的该车架号的所有认款金额
if(v.getSubscribedOf() == 0){
if (v.getSubscribedOf() == 0) {
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//查询该合同编号下的销售订单的单车成交价
@ -2262,7 +2263,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
finSelectedReceivablesDetailed.setAuditState(4);
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
//应收未收将款项加回来
if(v.getSubscribedOf() == 0){
if (v.getSubscribedOf() == 0) {
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailed.getReceivablesSid());
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(finSelectedReceivablesDetailed.getSubscriptionMoney());
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney);
@ -2326,20 +2327,20 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
qw.gt("fcc.balance", 0);
if (StringUtils.isNotBlank(query.getStaffDeptName())){
qw.like("fcc.staffDeptName",query.getStaffDeptName());
if (StringUtils.isNotBlank(query.getStaffDeptName())) {
qw.like("fcc.staffDeptName", query.getStaffDeptName());
}
if (StringUtils.isNotBlank(query.getStaffName())){
qw.like("fcc.staffName",query.getStaffName());
if (StringUtils.isNotBlank(query.getStaffName())) {
qw.like("fcc.staffName", query.getStaffName());
}
if (StringUtils.isNotBlank(query.getBillNo())){
qw.like("fcc.billNo",query.getBillNo());
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("fcc.billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getPayerName())){
qw.like("fcc.payerName",query.getPayerName());
if (StringUtils.isNotBlank(query.getPayerName())) {
qw.like("fcc.payerName", query.getPayerName());
}
if (StringUtils.isNotBlank(query.getPhone())){
qw.like("bd.draweeMobile",query.getPhone());
if (StringUtils.isNotBlank(query.getPhone())) {
qw.like("bd.draweeMobile", query.getPhone());
}
String collectionStartDate = query.getCollectionStartDate();
String collectionEndDate = query.getCollectionEndDate();
@ -2348,10 +2349,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
);
String collectionSmallMoney = query.getCollectionSmallMoney();
String collectionBigMoney = query.getCollectionBigMoney();
if (StringUtils.isNotBlank(collectionSmallMoney) && StringUtils.isNotBlank(collectionBigMoney)){
qw.between("fcc.balance",collectionSmallMoney,collectionBigMoney);
if (StringUtils.isNotBlank(collectionSmallMoney) && StringUtils.isNotBlank(collectionBigMoney)) {
qw.between("fcc.balance", collectionSmallMoney, collectionBigMoney);
}
if (StringUtils.isNotBlank(query.getName())){
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("fcc.billNo", query.getName()).or().like("fcc.staffDeptName", query.getName()).or().like("fcc.staffName", query.getName()).or().like("fcc.payerName", query.getName()).or().like("bd.draweeMobile", query.getName()));
}
IPage<FinCollectionConfirmation> page = PagerUtil.queryToPage(pq);

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyDto.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -11,5 +12,18 @@ import lombok.Data;
@Data
public class LoanFinOtherPolicyDto implements Dto {
private static final long serialVersionUID = -1420806288260489371L;
@ApiModelProperty("产品类别key")
private String productTypeKey;
@ApiModelProperty("产品类别value")
private String productTypeValue;
@ApiModelProperty("最高融资额比例")
private String maxLoanRatio;
@ApiModelProperty("最高融资额")
private String maxLoanAmount;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("年利率")
private String yearRatio;
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicyVo.java

@ -1,5 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -8,5 +10,19 @@ import lombok.Data;
* @date: 2023/7/6
**/
@Data
public class LoanFinOtherPolicyVo {
public class LoanFinOtherPolicyVo implements Vo {
private static final long serialVersionUID = 5725423619053776811L;
@ApiModelProperty("产品类别key")
private String productTypeKey;
@ApiModelProperty("产品类别value")
private String productTypeValue;
@ApiModelProperty("最高融资额比例")
private String maxLoanRatio;
@ApiModelProperty("最高融资额")
private String maxLoanAmount;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("年利率")
private String yearRatio;
}

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java

@ -1,10 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
@ -42,7 +44,7 @@ public class LoanFinPolicyDto implements Dto {
/* @ApiModelProperty("是否车损上浮:1是0否。默认为0")
private int isVehFloat;*/
@ApiModelProperty("单车意外险")
private BigDecimal vehAccidentAmount;
private String vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
/* @ApiModelProperty("最低首付比例(%)")
@ -58,21 +60,27 @@ public class LoanFinPolicyDto implements Dto {
@ApiModelProperty("服务费类型value")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private BigDecimal serviceAmount;
private String serviceAmount;
@ApiModelProperty("保险保证金")
private BigDecimal depositPremium;
private String depositPremium;
@ApiModelProperty("落户保证金")
private BigDecimal depositSettle;
private String depositSettle;
@ApiModelProperty("名义/留购价款")
private BigDecimal nominalPrice;
private String nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
/* @ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;*/
@ApiModelProperty("全组织路径")
private String orgPath;
@ApiModelProperty("适用销售部门List")
private List<UseDept> useDeptList = new ArrayList<>();
@ApiModelProperty("其他融")
private LoanFinOtherPolicyDto loanFinOtherPolicy;
}

15
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyFeign.java

@ -1,9 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@ -28,4 +31,16 @@ public interface LoanFinPolicyFeign {
@ApiOperation("初始化、详情")
@PostMapping("details")
ResultBean<LoanFinPolicyVo> details(@RequestParam("sid") String sid);
@ApiOperation("删除")
@DeleteMapping("deletePolicy")
ResultBean deletePolicy(@RequestBody String[] sids);
@ApiOperation("停用、开启:useState为1时走停用,为0时走开启")
@PostMapping("setState")
ResultBean setState(@RequestParam("sid") String sid, @RequestParam("useState") String useState);
@ApiOperation("金融产品政策管理分页列表")
@PostMapping("setState")
ResultBean<PagerVo<LoanFinPolicyVos>> pagerList(@RequestBody PagerQuery<LoanFinPolicyQuery> pagerQuery);
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyQuery.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
@ -8,5 +9,5 @@ import lombok.Data;
* @date: 2023/7/6
**/
@Data
public class LoanFinPolicyQuery {
public class LoanFinPolicyQuery implements Query {
}

64
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java

@ -1,5 +1,8 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -8,5 +11,64 @@ import lombok.Data;
* @date: 2023/7/6
**/
@Data
public class LoanFinPolicyVo {
public class LoanFinPolicyVo implements Vo {
private static final long serialVersionUID = 7411398572275216808L;
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("单车意外险")
private String vehAccidentAmount;
@ApiModelProperty("首付比例(%)")
private String downPayRatio;
@ApiModelProperty("保证金比例(%)")
private String bondRatio;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("标准年利率(%)")
private String yearRatio;
@ApiModelProperty("服务费类型key")
private String serviceAmountTypeKey;
@ApiModelProperty("服务费类型value")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("名义/留购价款")
private String nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融:1有,0无")
private int isOtherProduct;
@ApiModelProperty("适用销售部门sids(逗号分隔)")
private String useDeptSids;
@ApiModelProperty("适用销售部门名称(逗号分隔)")
private String useDeptNames;
private LoanFinOtherPolicyVo loanFinOtherPolicy = new LoanFinOtherPolicyVo();
}

57
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVos.java

@ -0,0 +1,57 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/7
**/
@Data
public class LoanFinPolicyVos implements Vo {
private static final long serialVersionUID = 7126087240752513932L;
@ApiModelProperty("报备状态")
private String filingStateValue;
@ApiModelProperty("风控状态")
private String riskStateValue;
@ApiModelProperty("适用状态")
private String useSateValue;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("适用销售部门")
private String useDeptNames;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("业务类型")
private String busTypeValue;
@ApiModelProperty("车辆大类")
private String vehCategoryValue;
@ApiModelProperty("车辆功能")
private String vehTypeValue;
@ApiModelProperty("期数")
private int period;
@ApiModelProperty("标准年利率")
private String yearRatio;
@ApiModelProperty("服务费类型")
private String serviceAmountTypeValue;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("最低首付比例")
private String downPayRatioLeast;
@ApiModelProperty("单车意外险")
private String vehAccidentAmount;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("名义/留购价款")
private String nominalPrice;
//是否有其他融
@ApiModelProperty("是否有其他融")
private int isOtherProduct;
}

17
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/UseDept.java

@ -0,0 +1,17 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/7/7
**/
@Data
public class UseDept implements Dto {
private static final long serialVersionUID = 1169329632455670625L;
private String deptSid;
private String deptName;
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.java

@ -14,4 +14,8 @@ import java.util.List;
@Mapper
public interface LoanFinOtherPolicyMapper extends BaseMapper<LoanFinOtherPolicy> {
List<LoanFinOtherPolicy> getOtherPolicyByMainSid(String mainPolicySid);
int deleteMainSid(String sid);
LoanFinOtherPolicy selectByMainSid(String sid);
}

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyMapper.xml

@ -10,4 +10,16 @@
and useSate = '0'
and riskState = '0'
</select>
<delete id="deleteMainSid">
delete
from loan_fin_otherpolicy
where mainPolicySid = #{mainPolicySid}
</delete>
<select id="selectByMainSid" resultType="com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy">
select *
from loan_fin_otherpolicy
where mainPolicySid = #{mainPolicySid}
</select>
</mapper>

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherPolicy/LoanFinOtherPolicyService.java

@ -24,4 +24,12 @@ public class LoanFinOtherPolicyService extends MybatisBaseService<LoanFinOtherPo
List<LoanFinOtherPolicy> otherPolicyList = baseMapper.getOtherPolicyByMainSid(mainPolicySid);
return otherPolicyList;
}
public int deleteyMainSid(String sid) {
return baseMapper.deleteMainSid(sid);
}
public LoanFinOtherPolicy selectByMainSid(String sid) {
return baseMapper.selectByMainSid(sid);
}
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.java

@ -1,8 +1,13 @@
package com.yxt.anrui.riskcenter.biz.loanfinpolicy;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVos;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
@ -11,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface LoanFinPolicyMapper extends BaseMapper<LoanFinPolicy> {
IPage<LoanFinPolicyVos> pagerList(IPage<LoanFinPolicy> page, @Param(Constants.WRAPPER) QueryWrapper<LoanFinPolicy> qw);
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyMapper.xml

@ -1,4 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyMapper">
<select id="pagerList" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicyVos">
</select>
</mapper>

23
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java

@ -1,9 +1,9 @@
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.anrui.riskcenter.api.loanfinpolicy.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@ -31,4 +31,21 @@ public class LoanFinPolicyRest implements LoanFinPolicyFeign {
public ResultBean<LoanFinPolicyVo> details(String sid) {
return loanFinPolicyService.details(sid);
}
@Override
public ResultBean deletePolicy(String[] sids) {
return loanFinPolicyService.deletePolicy(sids);
}
@Override
public ResultBean setState(String sid, String useState) {
return loanFinPolicyService.setState(sid, useState);
}
@Override
public ResultBean<PagerVo<LoanFinPolicyVos>> pagerList(PagerQuery<LoanFinPolicyQuery> pagerQuery) {
ResultBean<PagerVo<LoanFinPolicyVos>> rb = ResultBean.fireFail();
PagerVo<LoanFinPolicyVos> pv = loanFinPolicyService.pagerList(pagerQuery);
return rb.success().setData(pv);
}
}

154
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

@ -1,14 +1,29 @@
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyDto;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicyVo;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.*;
import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
@ -17,30 +32,161 @@ import org.springframework.stereotype.Service;
@Service
public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper, LoanFinPolicy> {
@Autowired
private LoanFinOtherPolicyService loanFinOtherPolicyService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean saveOrUpdatePolicy(LoanFinPolicyDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
String orgPath = dto.getOrgPath();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
String useOrgName = "";
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
if (sysOrganizationVoResultBean.getData() != null) {
useOrgName = sysOrganizationVoResultBean.getData().getName();
}
if (StringUtils.isBlank(sid)) {
LoanFinPolicy loanFinPolicy = new LoanFinPolicy();
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
List<UseDept> useDeptList = dto.getUseDeptList();
String deptSids = "";
String deptNames = "";
if (!useDeptList.isEmpty()) {
List<String> deptSidsList = useDeptList.stream().map(v -> v.getDeptSid()).collect(Collectors.toList());
deptSids = String.join(",", deptSidsList);
loanFinPolicy.setUseDeptSids(deptSids);
List<String> deptNamesList = useDeptList.stream().map(v -> v.getDeptName()).collect(Collectors.toList());
deptNames = String.join(",", deptNamesList);
loanFinPolicy.setUseDeptNames(deptNames);
}
loanFinPolicy.setUseOrgSid(useOrgSid);
loanFinPolicy.setCreateOrgSid(useOrgSid);
loanFinPolicy.setUseOrgName(useOrgName);
loanFinPolicy.setCreateOrgName(useOrgName);
baseMapper.insert(loanFinPolicy);
if (dto.getIsOtherProduct() == 1) {
LoanFinOtherPolicy loanFinOtherPolicy = new LoanFinOtherPolicy();
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid");
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy();
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
loanFinOtherPolicy.setMainPolicySid(loanFinPolicy.getSid());
loanFinOtherPolicy.setUseDeptSids(deptSids);
loanFinOtherPolicy.setUseDeptNames(deptNames);
loanFinOtherPolicy.setUseOrgSid(useOrgSid);
loanFinOtherPolicy.setCreateOrgSid(useOrgSid);
loanFinOtherPolicy.setUseOrgName(useOrgName);
loanFinOtherPolicy.setCreateOrgName(useOrgName);
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
} else {
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
String deptSids = "";
String deptNames = "";
List<UseDept> useDeptList = dto.getUseDeptList();
if (!useDeptList.isEmpty()) {
List<String> deptSidsList = useDeptList.stream().map(v -> v.getDeptSid()).collect(Collectors.toList());
deptSids = String.join(",", deptSidsList);
loanFinPolicy.setUseDeptSids(deptSids);
List<String> deptNamesList = useDeptList.stream().map(v -> v.getDeptName()).collect(Collectors.toList());
deptNames = String.join(",", deptNamesList);
loanFinPolicy.setUseDeptNames(deptNames);
} else {
loanFinPolicy.setUseDeptNames("");
loanFinPolicy.setUseDeptSids("");
}
baseMapper.updateById(loanFinPolicy);
if (dto.getIsOtherProduct() == 0) {
loanFinOtherPolicyService.deleteyMainSid(sid);
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid);
if (loanFinOtherPolicy == null) {
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid");
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy();
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
loanFinOtherPolicy.setUseDeptSids(deptSids);
loanFinOtherPolicy.setUseDeptNames(deptNames);
loanFinOtherPolicyService.updateById(loanFinOtherPolicy);
} else {
loanFinOtherPolicy = new LoanFinOtherPolicy();
BeanUtil.copyProperties(dto, loanFinOtherPolicy, "sid");
LoanFinOtherPolicyDto loanFinOtherPolicyDto = dto.getLoanFinOtherPolicy();
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
loanFinOtherPolicy.setMainPolicySid(loanFinPolicy.getSid());
loanFinOtherPolicy.setUseDeptSids(deptSids);
loanFinOtherPolicy.setUseDeptNames(deptNames);
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
}
}
return rb.success();
}
public ResultBean<LoanFinPolicyVo> details(String sid) {
ResultBean<LoanFinPolicyVo> rb = ResultBean.fireFail();
LoanFinPolicyVo loanFinPolicyVo = new LoanFinPolicyVo();
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(loanFinPolicy, loanFinPolicyVo);
if (loanFinPolicy.getIsOtherProduct() == 1) {
LoanFinOtherPolicyVo loanFinOtherPolicyVo = new LoanFinOtherPolicyVo();
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid);
if (loanFinOtherPolicy != null) {
BeanUtil.copyProperties(loanFinOtherPolicy, loanFinOtherPolicyVo);
loanFinPolicyVo.setLoanFinOtherPolicy(loanFinOtherPolicyVo);
}
}
return rb.success().setData(loanFinPolicyVo);
}
public ResultBean deletePolicy(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//ToDo:不能删除的条件并返回提示信息
//符合条件直接删除
List<String> sidList = Arrays.asList(sids);
for (String sid : sidList) {
loanFinOtherPolicyService.deleteyMainSid(sid);
deleteBySid(sid);
}
return rb.success();
}
public ResultBean setState(String sid, String useState) {
ResultBean rb = ResultBean.fireFail();
//ToDo:是否可以停用或开启,需补充条件
LoanFinPolicy loanFinPolicy = fetchBySid(sid);
if (loanFinPolicy == null) {
return rb.setMsg("该金融产品政策不存在");
}
return null;
loanFinPolicy.setUseSate(Integer.valueOf(useState).intValue());
baseMapper.updateById(loanFinPolicy);
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(sid);
if (loanFinOtherPolicy != null) {
loanFinOtherPolicy.setUseSate(Integer.valueOf(useState).intValue());
loanFinOtherPolicyService.updateById(loanFinOtherPolicy);
}
return rb.success();
}
public PagerVo<LoanFinPolicyVos> pagerList(PagerQuery<LoanFinPolicyQuery> pagerQuery) {
LoanFinPolicyQuery query = pagerQuery.getParams();
QueryWrapper<LoanFinPolicy> qw = new QueryWrapper<>();
if (query != null) {
}
IPage<LoanFinPolicy> page = PagerUtil.queryToPage(pagerQuery);
IPage<LoanFinPolicyVos> pagging = baseMapper.pagerList(page, qw);
PagerVo<LoanFinPolicyVos> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

Loading…
Cancel
Save