diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 0f02db148..1b9cce5b2 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -870,31 +870,6 @@ public class OrderInfoServiceImpl extends ServiceImpl orderDetails, boolean isAllFoods, List couponFoodIds, BigDecimal thresholdAmount) { - if (thresholdAmount.compareTo(BigDecimal.ZERO) == 0) { - return; - } - BigDecimal foodsAmount = BigDecimal.ZERO; - for (OrderDetail detail : orderDetails) { - if ((isAllFoods || couponFoodIds.contains(detail.getProductId())) - && detail.getUnitPrice().compareTo(BigDecimal.ZERO) > 0 - && detail.getNum().subtract(detail.getReturnNum()).subtract(detail.getCouponNum()).compareTo(BigDecimal.ONE) >= 0) { - foodsAmount = foodsAmount.add(detail.getPayAmount()); - if (foodsAmount.compareTo(thresholdAmount) >= 0) { - return; - } - } - } - if (foodsAmount.compareTo(thresholdAmount) < 0) { - throw new CzgException("优惠券未达到门槛金额"); - } - } - /** * 获取价格排序后的orderDetail * @@ -924,7 +899,13 @@ public class OrderInfoServiceImpl extends ServiceImpl 0) { + BigDecimal num = orderDetail.getNum().subtract(orderDetail.getReturnNum()); + //单品改价 按原价计算门槛金额 + originalPrice = originalPrice.add(orderDetail.getPrice().multiply(num).setScale(2, RoundingMode.HALF_UP)); + } else { + originalPrice = originalPrice.add(orderDetail.getPayAmount()); + } } originalPrice = originalPrice.add(packPrice).add(seatPrice); for (MkDiscountThreshold threshold : discountAct.getThresholds()) {