diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java index cdfa32cb0..22aab993b 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoCustomServiceImpl.java @@ -500,9 +500,9 @@ public class OrderInfoCustomServiceImpl implements OrderInfoCustomService { if (param.getVipDiscountAmount().compareTo(BigDecimal.ZERO) <= 0) { param.setVipDiscountAmount(BigDecimal.ZERO); } else { - BigDecimal discount = BigDecimal.valueOf(100).subtract(BigDecimal.valueOf(shopUser.getDiscount())).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP); + BigDecimal discount = BigDecimal.valueOf(100).subtract(BigDecimal.valueOf(shopUser.getDiscount())).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN); BigDecimal discountAmount = newTotalAmount.multiply(discount); - discountAmount = discountAmount.setScale(2, RoundingMode.HALF_UP); + discountAmount = discountAmount.setScale(2, RoundingMode.DOWN); if (discountAmount.compareTo(param.getVipDiscountAmount()) != 0) { log.info("会员整单折扣金额不正确:传递为:{},计算为:{}", param.getVipDiscountAmount(), discountAmount); throw new OrderValidateException("生成支付订单失败,会员整单折扣金额不正确");