Commit d789c3c2 by jianan

新增出账更新到应付

parent 887e3f9c
...@@ -708,6 +708,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -708,6 +708,7 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
List<Fortune> fortuneList = new ArrayList<>(); List<Fortune> fortuneList = new ArrayList<>();
List<ExpectedFortune> expectedFortuneUpdateList = new ArrayList<>();
for (FortuneAddRequest fortuneAddRequest : fortuneAddRequestList) { for (FortuneAddRequest fortuneAddRequest : fortuneAddRequestList) {
// 校验参数 // 校验参数
valiAddFortune(fortuneAddRequest); valiAddFortune(fortuneAddRequest);
...@@ -739,6 +740,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -739,6 +740,8 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setStatus(FortuneStatusEnum.MATCH_FAIL.getItemValue()); fortune.setStatus(FortuneStatusEnum.MATCH_FAIL.getItemValue());
fortune.setRemark("未找到当前预计发佣对应的来佣"); fortune.setRemark("未找到当前预计发佣对应的来佣");
} }
// 更新预计出账的数据
processExpectedFortune(expectedFortune, fortune, expectedFortuneUpdateList);
} }
// 生成发佣业务ID // 生成发佣业务ID
...@@ -749,7 +752,33 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -749,7 +752,33 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortune.setIsPart(0); fortune.setIsPart(0);
fortuneList.add(fortune); fortuneList.add(fortune);
} }
return this.saveBatch(fortuneList); this.saveBatch(fortuneList);
if (CollectionUtils.isNotEmpty(expectedFortuneUpdateList)) {
expectedFortuneService.updateBatchById(expectedFortuneUpdateList);
}
return true;
}
private void processExpectedFortune(ExpectedFortune expectedFortune, Fortune fortune, List<ExpectedFortune> expectedFortuneUpdateList) {
// 出账币种
String currency = fortune.getCurrency();
// 港币出账金额
BigDecimal hkdAmount = fortune.getHkdAmount();
ExpectedFortune updateObj = new ExpectedFortune();
updateObj.setId(expectedFortune.getId());
updateObj.setHkdAmount(expectedFortune.getHkdAmount().add(hkdAmount));
// 根据预计出账币种计算 expectedFortune.getAmount() 字段
BigDecimal originalAmount = fortune.getAmount(); // 原始币种金额
BigDecimal exchangeRate = queryExchangeRateByFeign(currency, expectedFortune.getCurrency());
BigDecimal amount = originalAmount.multiply(exchangeRate);// 本次新增出账金额
updateObj.setAmount(amount.add(expectedFortune.getAmount()));
expectedFortuneUpdateList.add(updateObj);
} }
} }
......
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