修复代客下单多个商品计算总金额错误的bug
This commit is contained in:
parent
25a6735026
commit
df08828673
|
|
@ -2275,11 +2275,11 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
List<TbCashierCart> cashierCarts = mpCashierCartService.selectByOrderIdAndState(orderInfo.getId());
|
List<TbCashierCart> cashierCarts = mpCashierCartService.selectByOrderIdAndState(orderInfo.getId());
|
||||||
List<TbOrderDetail> detailList = mpOrderDetailService.selectByOrderId(orderInfo.getId());
|
List<TbOrderDetail> detailList = mpOrderDetailService.selectByOrderId(orderInfo.getId());
|
||||||
BigDecimal discount = payDTO.getDiscount().setScale(4, RoundingMode.HALF_DOWN);
|
BigDecimal discount = payDTO.getDiscount().setScale(4, RoundingMode.HALF_DOWN);
|
||||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
BigDecimal sumTotalAmount = cashierCarts.stream().map(TbCashierCart::getTotalAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
BigDecimal totalAmount = NumberUtil.mul(sumTotalAmount, discount).setScale(2, RoundingMode.HALF_UP);
|
||||||
for (TbCashierCart cashierCart : cashierCarts) {
|
for (TbCashierCart cashierCart : cashierCarts) {
|
||||||
if (cashierCart.getUserCouponId() == null) {
|
if (cashierCart.getUserCouponId() == null) {
|
||||||
cashierCart.setTotalAmount(cashierCart.getTotalAmount().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
cashierCart.setTotalAmount(cashierCart.getTotalAmount().multiply(discount).setScale(2, RoundingMode.HALF_EVEN));
|
||||||
totalAmount = NumberUtil.add(totalAmount, cashierCart.getTotalAmount());
|
|
||||||
}
|
}
|
||||||
// item.setSalePrice(item.getSalePrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
// item.setSalePrice(item.getSalePrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
||||||
// item.setMemberPrice(item.getMemberPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
// item.setMemberPrice(item.getMemberPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
||||||
|
|
@ -2287,7 +2287,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
|
||||||
}
|
}
|
||||||
|
|
||||||
detailList.forEach(item -> {
|
detailList.forEach(item -> {
|
||||||
item.setPriceAmount(item.getPriceAmount().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
item.setPriceAmount(item.getPriceAmount().multiply(discount).setScale(2, RoundingMode.HALF_EVEN));
|
||||||
// item.setPrice(item.getPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
// item.setPrice(item.getPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
||||||
// item.setMemberPrice(item.getMemberPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
// item.setMemberPrice(item.getMemberPrice().multiply(discount).setScale(2, RoundingMode.HALF_UP));
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue