Commit 1a865a0a by 吕明尚

Merge branch 'dev' into test

parents 0640fadc 2bb77946
......@@ -1160,13 +1160,22 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
balanceLog.setCreateTime(new Date());
rechargeAmountLog.setCreateTime(new Date());
giftAmountLog.setCreateTime(new Date());
BigDecimal oldRechargeAmount;
BigDecimal oldGiftAmount;
//计算充值金额和余额的比例
BigDecimal divide = consumerWallet.getRechargeAmount().divide(consumerWallet.getBalance(), 2, RoundingMode.HALF_UP);
//余额乘充值金额比例
BigDecimal oldRechargeAmount = sOrder.getBalance().multiply(divide);
BigDecimal oldGiftAmount = sOrder.getBalance().subtract(oldRechargeAmount);
rechargeAmountLog.setVariableAmount(oldRechargeAmount);
giftAmountLog.setVariableAmount(oldGiftAmount);
if (sOrder.getPayPrice().compareTo(BigDecimal.ZERO) == 0) {
BigDecimal divide = consumerWallet.getRechargeAmount().divide(consumerWallet.getBalance(), 2, RoundingMode.HALF_UP);
//余额乘充值金额比例
oldRechargeAmount = sOrder.getBalance().multiply(divide);
oldGiftAmount = sOrder.getBalance().subtract(oldRechargeAmount);
rechargeAmountLog.setVariableAmount(oldRechargeAmount);
giftAmountLog.setVariableAmount(oldGiftAmount);
} else {
oldRechargeAmount = consumerWallet.getRechargeAmount();
oldGiftAmount = consumerWallet.getGiftAmount();
rechargeAmountLog.setVariableAmount(consumerWallet.getRechargeAmount());
giftAmountLog.setVariableAmount(consumerWallet.getGiftAmount());
}
consumerWallet.setBalance(consumerWallet.getBalance().subtract(sOrder.getBalance()));
consumerWallet.setRechargeAmount(consumerWallet.getRechargeAmount().subtract(oldRechargeAmount));
consumerWallet.setGiftAmount(consumerWallet.getGiftAmount().subtract(oldGiftAmount));
......
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