|
@@ -98,6 +98,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
if(collect.size() == 0){
|
|
|
throw new BizException("订单金额异常");
|
|
|
}
|
|
|
+ BigDecimal totalAmount = collect.stream().map(StudentPaymentOrderDetail::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
for (int i = 0; i < collect.size(); i++) {
|
|
|
StudentPaymentOrderDetail orderDetail = collect.get(i);
|
|
|
//如果是最后一件商品
|
|
@@ -105,7 +106,7 @@ public class StudentPaymentOrderDetailServiceImpl extends BaseServiceImpl<Long,
|
|
|
orderDetail.setPrice(orderDetail.getPrice().subtract(waitRemitFee));
|
|
|
} else {
|
|
|
//获取比例
|
|
|
- BigDecimal ratioAmount = orderDetail.getPrice().divide((couponRemitFee.add(orderDetail.getPrice())), 6, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal ratioAmount = orderDetail.getPrice().divide(totalAmount, 6, BigDecimal.ROUND_HALF_UP);
|
|
|
//获取分配的减免金额
|
|
|
BigDecimal multiply = ratioAmount.multiply(couponRemitFee).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
waitRemitFee = waitRemitFee.subtract(multiply);
|