Browse Source

修改划扣推送逻辑

master
fanzongzhe 1 year ago
parent
commit
bca9b3307d
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java
  2. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java
  3. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java
  4. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckle.java
  5. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckleNew.java
  6. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java
  7. 21
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  8. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java
  9. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java
  10. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  11. 114
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java

@ -41,7 +41,7 @@ public class LoanBuckleHistoryRecord {
// private String outstandingMoney;
@ApiModelProperty("实还日期")
private String actualDate;
private String payState;
private List<String> historySids = new ArrayList<>();
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapplyrecord/LoanBuckleApplyRecord.java

@ -26,5 +26,6 @@ public class LoanBuckleApplyRecord extends BaseEntity {
private String repaymentHistorySid;
@ApiModelProperty("实还金额")
private BigDecimal actualMoney;
@ApiModelProperty("还款状态(0正常还款,1逾期还款)")
private Integer payState;
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java

@ -52,4 +52,5 @@ public class LoanRepaymentHistory extends BaseEntity {
private Date updateTime;
@ApiModelProperty("收款单据编号")
private String skdBillNo;
private Integer payState; //还款状态(0正常还款,1逾期还款)
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckle.java

@ -46,4 +46,5 @@ public class RepaymentHistoryVoForBuckle {
private String planDetailSid;
private String updateState; //更新状态
private String updateTime; //更新日期
private String payState;
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/RepaymentHistoryVoForBuckleNew.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author Fan
* @description
* @date 2024/3/20 11:51
*/
@Data
public class RepaymentHistoryVoForBuckleNew {
private String rule;
private String sid;
@ApiModelProperty("实还金额")
private BigDecimal actualMoney;
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java

@ -78,7 +78,6 @@ public class LoanRepaymentPlanDetails extends BaseEntity {
private BigDecimal fund; //资金占用费
private Integer overdue; //是否曾逾期(0是,1否)
private Integer oweState; //是否转累欠状态(0是,1否)
private Integer payState; //还款状态(0正常还款,1逾期还款)
private Date updateTime; //更新日期
}

21
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -264,6 +264,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (StringUtils.isNotBlank(record.getActualMoney())) {
applyRecord.setActualMoney(new BigDecimal(record.getActualMoney()));
}
applyRecord.setPayState(Integer.parseInt(record.getPayState()));
loanBuckleApplyRecordService.insert(applyRecord);
List<String> historySids = record.getHistorySids();
if (!historySids.isEmpty()) {
@ -309,6 +310,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (StringUtils.isNotBlank(record.getActualMoney())) {
applyRecord.setActualMoney(new BigDecimal(record.getActualMoney()));
}
applyRecord.setPayState(Integer.parseInt(record.getPayState()));
loanBuckleApplyRecordService.insert(applyRecord);
List<String> historySids = record.getHistorySids();
if (!historySids.isEmpty()) {
@ -649,18 +651,6 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
}
}
// List<LoanBuckleApplyRecord> applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid);
// if (!applyRecords.isEmpty()) {
// for (LoanBuckleApplyRecord applyRecord : applyRecords) {
// LoanRepaymentHistory repaymentHistory = loanRepaymentHistoryService.fetchBySid(applyRecord.getRepaymentHistorySid());
// if (null != repaymentHistory) {
// repaymentHistory.setBuckle("审核通过");
// repaymentHistory.setBuckleKey("003");
// repaymentHistory.setClosingDate(new DateTime());
// loanRepaymentHistoryService.updateById(repaymentHistory);
// }
// }
// }
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@ -697,7 +687,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (state.equals("2")) {
voucherDetail.setSceneCode("01");
} else {
if (planDetails.getPayState() == 1) {
if (v.getPayState() == 1) {
voucherDetail.setSceneCode("01");
} else {
if (state.equals("0")) {
@ -1120,8 +1110,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
}
loanBuckleApply.setIsDelete(1);
int i = baseMapper.updateById(loanBuckleApply);
int i = baseMapper.deleteById(loanBuckleApply);
if (i == 0) {
return rb.setMsg("删除失败");
}
@ -1143,6 +1132,8 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
}
}
loanBuckleApplyRecordService.deleteByMainSid(sid);
loanBucklePlanHistoryService.deleteByMainSid(sid);
}
return ResultBean.fireSuccess().setMsg("删除成功");
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryMapper.java

@ -3,6 +3,7 @@ package com.yxt.anrui.riskcenter.biz.loanbuckleplanhistory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanbuckleplanhistory.LoanBucklePlanHistory;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -13,4 +14,9 @@ import java.util.List;
public interface LoanBucklePlanHistoryMapper extends BaseMapper<LoanBucklePlanHistory> {
List<String> fetchByMainSidAndPlanSid(@Param("sid") String sid, @Param("repaymentHistorySid") String repaymentHistorySid);
@Delete(" DELETE\n" +
" FROM loan_buckle_plan_history\n" +
" WHERE mainSid = #{sid}")
void deleteByMainSid(@Param("sid")String sid);
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleplanhistory/LoanBucklePlanHistoryService.java

@ -19,4 +19,8 @@ public class LoanBucklePlanHistoryService extends MybatisBaseService<LoanBuckleP
public List<String> fetchByMainSidAndPlanSid(String sid, String repaymentHistorySid) {
return baseMapper.fetchByMainSidAndPlanSid(sid,repaymentHistorySid);
}
public void deleteByMainSid(String sid) {
baseMapper.deleteByMainSid(sid);
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -197,7 +197,8 @@
h.actualMoney,
h.buckle,
h.returnWay,
h.planDetailSid
h.planDetailSid,
h.payState
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid

114
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -705,15 +705,19 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
for (String historySid : histories) {
LoanRepaymentHistory repaymentHistory = fetchBySid(historySid);
if (null != repaymentHistory) {
repaymentHistory.setUpdateState("1");
repaymentHistory.setUpdateTime(new DateTime());
baseMapper.updateById(repaymentHistory);
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(repaymentHistory.getPlanDetailSid());
if (null != planDetails) {
bankContractNos.add(planDetails.getBankContractNo());
pSids.add(planDetails.getSid());
useOrgSid = planDetails.getUseOrgSid();
//判断当期还款计划是否曾逾期
if (planDetails.getOverdue() == 0) {
repaymentHistory.setPayState(1);
}
}
repaymentHistory.setUpdateState("1");
repaymentHistory.setUpdateTime(new DateTime());
baseMapper.updateById(repaymentHistory);
}
}
Map<String, String> map = new HashMap<>();
@ -761,22 +765,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
//对当前涉及的还款计划是否为中车类是否有垫款
if (!pSids.isEmpty()) {
for (String pSid : pSids) {
//判断当前期数是正常还款还是逾期还款
LoanRepaymentPlanDetails details = loanRepaymentPlanDetailsService.fetchBySid(pSid);
if (null != details) {
if (details.getPayState() == 0) {
CheckPayStateVo checkPayStateVo = loanRepaymentPlanDetailsService.checkPayState(pSid);
if (null != checkPayStateVo) {
if (checkPayStateVo.getCheckState().equals("0")) {
BigDecimal money = new BigDecimal(checkPayStateVo.getActualMoney());
if (money.compareTo(BigDecimal.ZERO) > 0) {
details.setPayState(1);
loanRepaymentPlanDetailsService.updateById(details);
}
}
}
}
}
String reAdvances = loanRepaymentPlanDetailsService.reAdvancesOrPaymentMoney(pSid);
if (StringUtils.isNotBlank(reAdvances)) {
if (reAdvances.equals("0")) {
@ -928,11 +916,27 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
Map<String, BigDecimal> newMap = new HashMap<>();
Map<String, List<String>> stringListMap = new HashMap<>();
Set<String> planSids = new HashSet<>();
List<RepaymentHistoryVoForBuckleNew> newList = new ArrayList<>();
if (!histories.isEmpty()) {
countMoney = histories.stream()
.collect(Collectors.groupingBy(RepaymentHistoryVoForBuckle::getPlanDetailSid, CollectorsUtil.summingBigDecimal(RepaymentHistoryVoForBuckle::getActualMoney)));
sids = histories.stream()
.collect(Collectors.groupingBy(RepaymentHistoryVoForBuckle::getPlanDetailSid, Collectors.mapping(RepaymentHistoryVoForBuckle::getSid, Collectors.toList())));
histories.stream().forEach(h -> {
RepaymentHistoryVoForBuckleNew r = new RepaymentHistoryVoForBuckleNew();
if (StringUtils.isNotBlank(h.getPlanDetailSid()) && StringUtils.isNotBlank(h.getPayState())) {
r.setRule(h.getPlanDetailSid() + "!" + h.getPayState());
}
if (StringUtils.isNotBlank(h.getSid())) {
r.setSid(h.getSid());
}
if (null != h.getActualMoney()) {
r.setActualMoney(h.getActualMoney());
}
newList.add(r);
});
if (!newList.isEmpty()) {
countMoney = newList.stream()
.collect(Collectors.groupingBy(RepaymentHistoryVoForBuckleNew::getRule, CollectorsUtil.summingBigDecimal(RepaymentHistoryVoForBuckleNew::getActualMoney)));
sids = newList.stream()
.collect(Collectors.groupingBy(RepaymentHistoryVoForBuckleNew::getRule, Collectors.mapping(RepaymentHistoryVoForBuckleNew::getSid, Collectors.toList())));
}
}
for (Map.Entry<String, BigDecimal> entry : countMoney.entrySet()) {
if (entry.getValue().compareTo(BigDecimal.ZERO) > 0) {
@ -948,10 +952,18 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
}
for (Map.Entry<String, List<String>> entry : stringListMap.entrySet()) {
LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord();
record.setRecordSid(entry.getKey());
String planSid = "";
String payState = "";
if (StringUtils.isNotBlank(entry.getKey())) {
String[] split = entry.getKey().split("!");
planSid = split[0];
payState = split[1];
}
record.setRecordSid(planSid);
record.setPayState(payState);
record.setHistorySids(entry.getValue());
record.setActualMoney(newMap.get(entry.getKey()).toString());
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(entry.getKey());
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(planSid);
if (null != planDetails) {
if (StringUtils.isNotBlank(planDetails.getLoanContractNo())) {
record.setLoanContractNo(planDetails.getLoanContractNo());
@ -977,40 +989,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
}
historyRecords.add(record);
}
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistoryVo history : histories) {
// String planDetailSid = history.getPlanDetailSid();
// List<LoanRepaymentHistory> historyList = baseMapper.selByPlanSid(planDetailSid);
// if (!historyList.isEmpty()) {
// BigDecimal actualMoney = new BigDecimal(0);
// for (LoanRepaymentHistory repaymentHistory : historyList) {
// actualMoney = repaymentHistory.getActualMoney().add(actualMoney);
// }
// if (actualMoney.compareTo(BigDecimal.ZERO) == -1) {
// planSids.add(planDetailSid);
// }
// }
// }
// }
// Iterator<LoanRepaymentHistoryVo> it = histories.iterator();
// while (it.hasNext()) {
// LoanRepaymentHistoryVo historyVo = it.next();
// if (!planSids.isEmpty()) {
// if (planSids.contains(historyVo.getPlanDetailSid())) {
// it.remove();
// }
// }
// }
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistoryVo history : histories) {
// LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord();
// LoanRepaymentHistoryRecordVo recordVo = baseMapper.buckleInfo(history.getSid());
// if (null != recordVo) {
// BeanUtil.copyProperties(recordVo, record);
// }
// historyRecords.add(record);
// }
// }
vo.setRecords(historyRecords);
return rb.success().setData(vo);
}
@ -1650,24 +1628,6 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
LocalDate localDate = LocalDate.now().minusDays(1);
String formatDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int i = baseMapper.updateTimeByPlanSids(stringList, formatDate);
for (String pSid : stringList) {
//判断当前期数是正常还款还是逾期还款
LoanRepaymentPlanDetails details = loanRepaymentPlanDetailsService.fetchBySid(pSid);
if (null != details) {
if (details.getPayState() == 0) {
CheckPayStateVo checkPayStateVo = loanRepaymentPlanDetailsService.checkPayState(pSid);
if (null != checkPayStateVo) {
if (checkPayStateVo.getCheckState().equals("0")) {
BigDecimal money = new BigDecimal(checkPayStateVo.getActualMoney());
if (money.compareTo(BigDecimal.ZERO) > 0) {
details.setPayState(1);
loanRepaymentPlanDetailsService.updateById(details);
}
}
}
}
}
}
}
//判断当期是否逾期
List<HistoryOverDueVo> overDueVoList = loanRepaymentPlanDetailsService.overDueVoList(useOrgSid);

Loading…
Cancel
Save