Commit d790d8c2 by jianan

出账检核-增加币种83

parent 8af45979
...@@ -434,11 +434,20 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -434,11 +434,20 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
Collectors.reducing(BigDecimal.ZERO, BigDecimal::add)))); Collectors.reducing(BigDecimal.ZERO, BigDecimal::add))));
// 4.4 反写 expected_fortune // 4.4 反写 expected_fortune
expectedList.forEach(ef -> { for (ExpectedFortune ef : expectedList) {
BigDecimal totalPaid = paidMap.getOrDefault(ef.getExpectedFortuneBizId(), BigDecimal.ZERO); BigDecimal totalPaid = paidMap.getOrDefault(ef.getExpectedFortuneBizId(), BigDecimal.ZERO);
BigDecimal totalAmount = ef.getHkdAmount(); BigDecimal totalAmount = ef.getHkdAmount();
BigDecimal unpaid = totalAmount.subtract(totalPaid); BigDecimal unpaid = totalAmount.subtract(totalPaid);
BigDecimal paidRatio = BigDecimal.ZERO;
if (totalAmount.compareTo(BigDecimal.ZERO) > 0) {
paidRatio = totalPaid.divide(totalAmount, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
}
BigDecimal unpaidRatio = BigDecimal.ZERO;
if (totalAmount.compareTo(BigDecimal.ZERO) > 0) {
unpaidRatio = unpaid.divide(totalAmount, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
}
String newStatus; String newStatus;
if (unpaid.compareTo(BigDecimal.ZERO) == 0) { if (unpaid.compareTo(BigDecimal.ZERO) == 0) {
newStatus = FortuneStatusEnum.SENT.getItemValue(); // 全部完成 newStatus = FortuneStatusEnum.SENT.getItemValue(); // 全部完成
...@@ -451,17 +460,14 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper, ...@@ -451,17 +460,14 @@ public class FortuneAccountServiceImpl extends ServiceImpl<FortuneAccountMapper,
expectedFortuneService.lambdaUpdate() expectedFortuneService.lambdaUpdate()
.set(ExpectedFortune::getPaidAmount, totalPaid) .set(ExpectedFortune::getPaidAmount, totalPaid)
.set(ExpectedFortune::getUnpaidAmount, unpaid) .set(ExpectedFortune::getUnpaidAmount, unpaid)
.set(ExpectedFortune::getPaidRatio, .set(ExpectedFortune::getPaidRatio, paidRatio)
totalPaid.divide(totalAmount, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))) .set(ExpectedFortune::getUnpaidRatio, unpaidRatio)
.set(ExpectedFortune::getUnpaidRatio,
unpaid.divide(totalAmount, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100)))
.set(ExpectedFortune::getStatus, newStatus) .set(ExpectedFortune::getStatus, newStatus)
// .set(ExpectedFortune::getActualPayoutDate, new Date())
.set(ExpectedFortune::getUpdaterId, loginUserId.toString()) .set(ExpectedFortune::getUpdaterId, loginUserId.toString())
.set(ExpectedFortune::getUpdateTime, LocalDateTime.now()) .set(ExpectedFortune::getUpdateTime, LocalDateTime.now())
.eq(ExpectedFortune::getId, ef.getId()) .eq(ExpectedFortune::getId, ef.getId())
.update(); .update();
}); }
return true; return true;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment