提交 467aa25d authored 作者: huyufan's avatar huyufan

确认收货处理相关借款逻辑

上级 bb58b488
......@@ -181,6 +181,7 @@ public class OrderChildLoanComponent {
log.info("4.查询当前运单号:{}, 当前货主,{}, 此运单借款冻结记录:{}", childNo, settlementOwnerDetail.getOwnerUserNo(), JSONUtil.parse(runningWaterRecordList));
if (CollectionUtil.isEmpty(runningWaterRecordList)) {
//说明当初没借款,预付运费够,但是真实结算后,预付运费不够,走此逻辑
log.info("4.1 说明当初没借款,预付运费够,但是真实结算后,预付运费不够,走此逻辑");
try {
ownerLoanRecordService.getLoanBalance(settlementOwnerDetail.getSettlementFreight(), settlementDriverDetail.getDriverUserNo(), childNo);
} catch (Exception e) {
......@@ -193,10 +194,14 @@ public class OrderChildLoanComponent {
BigDecimal alterationBalance = runningWaterRecordList.stream().map(OwnerLoanAccountRunningWaterRecord::getAlterationBalance).reduce(BigDecimal.ZERO, BigDecimal::add);
if (alterationBalance.compareTo(settlementOwnerDetail.getSettlementFreight()) == 0) {
log.info("4.2 相等直接生成运单核销");
//相等直接生成运单核销
childWriteOffOwnerLoanAccount(runningWaterRecordList);
} else if (alterationBalance.compareTo(settlementOwnerDetail.getSettlementFreight()) > 0) {
//大于,则生成核销后,释放冻结的借款
log.info("4.3 大于,则生成核销后,释放冻结的借款");
BigDecimal thawBigdecimal = settlementOwnerDetail.getSettlementFreight().subtract(alterationBalance);
OwnerLoanAccountRunningWaterRecord entity = runningWaterRecordList.get(runningWaterRecordList.size() - 1);
Long loanNo = entity.getLoanNo();
......@@ -207,6 +212,8 @@ public class OrderChildLoanComponent {
//多余的金额需要生成解冻流水
thawOwnerLoanAccount(loanNo, loanType, entity.getOwnerUserNo(), entity.getOwnerUserName(), entity.getMobile(), entity.getChildNo(), thawBigdecimal.negate());
} else {
log.info("4.4 冻结的借款不够了");
BigDecimal subtract = alterationBalance.subtract(settlementOwnerDetail.getSettlementFreight());
// 冻结的借款不够了
try {
......@@ -216,6 +223,7 @@ public class OrderChildLoanComponent {
}
runningWaterRecordList = ownerLoanAccountRunningWaterRecordDao.getListByOrderNoAndRunningWaterType
(childNo, OwnerLoanAccountRunningWaterRecordEnum.RunWaterType.APPROVE_FROZEN.getCode());
log.info("4.5新查询出冻结借款记录:{}", JSONUtil.parse(runningWaterRecordList));
childWriteOffOwnerLoanAccount(runningWaterRecordList);
}
......@@ -277,6 +285,7 @@ public class OrderChildLoanComponent {
}
public void childWriteOffOwnerLoanAccount(List<OwnerLoanAccountRunningWaterRecord> frozenList) {
log.info("5. 执行核销扣除,相关流水{}", JSONUtil.parse(frozenList));
while (true) {
int flag = 0;
List<OwnerLoanAccountRunningWaterRecord> saveList = new LinkedList<>();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论