|
@@ -570,8 +570,16 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
|
|
|
BigDecimal detailTotalPrice = orderDetails.stream().map(StudentPaymentOrderDetail::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
//商品销售占的余额
|
|
|
BigDecimal detailTotalBalance = detailTotalPrice.multiply(totalBalance).divide(totalPrice, 2, BigDecimal.ROUND_DOWN);
|
|
|
-
|
|
|
- sellAmount.put("actualAmount", detailTotalPrice.subtract(detailTotalBalance).subtract(cloudIncome));
|
|
|
+
|
|
|
+ if(detailTotalBalance.subtract(cloudBalanceIncome).compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ detailTotalBalance = cloudBalanceIncome;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(detailTotalPrice.subtract(detailTotalBalance).subtract(cloudIncome).compareTo(BigDecimal.ZERO) < 0){
|
|
|
+ sellAmount.put("actualAmount", BigDecimal.ZERO);
|
|
|
+ }else{
|
|
|
+ sellAmount.put("actualAmount", detailTotalPrice.subtract(detailTotalBalance).subtract(cloudIncome));
|
|
|
+ }
|
|
|
sellAmount.put("balance", detailTotalBalance.subtract(cloudBalanceIncome));
|
|
|
return sellAmount;
|
|
|
}
|