|
@@ -75,7 +75,7 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
|
|
|
}
|
|
|
|
|
|
BigDecimal hasRouteBalance = BigDecimal.ZERO;
|
|
|
- BigDecimal goodsTotalBalance = goodsTotalPrice.multiply(balance).divide(totalAmount, 2, BigDecimal.ROUND_DOWN);
|
|
|
+ BigDecimal goodsTotalBalance = totalAmount.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : goodsTotalPrice.multiply(balance).divide(totalAmount, 2, BigDecimal.ROUND_DOWN);
|
|
|
AccountType accountType = sysPaymentConfigService.checkAccountType(PaymentChannelEnum.valueOf(order.getPaymentChannel()), order.getMerNos());
|
|
|
|
|
|
List<SellOrder> sellOrderList = goodsService.subtractStock(goodsIds, accountType);
|
|
@@ -91,7 +91,8 @@ public class SellOrderServiceImpl extends BaseServiceImpl<Integer, SellOrder> im
|
|
|
}
|
|
|
goodsPrice = nowGoods.getDiscountPrice();
|
|
|
|
|
|
- BigDecimal goodsBalance = goodsTotalBalance.multiply(goodsPrice).divide(goodsTotalPrice, 2, BigDecimal.ROUND_DOWN);
|
|
|
+ BigDecimal goodsBalance = goodsTotalPrice.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO :
|
|
|
+ goodsTotalBalance.multiply(goodsPrice).divide(goodsTotalPrice, 2, BigDecimal.ROUND_DOWN);
|
|
|
if (i == goodsNum) {
|
|
|
goodsBalance = goodsTotalBalance.subtract(hasRouteBalance);
|
|
|
}
|