From 106968fb1fdc9b31948c4516efc19127c23ac20a Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 18 Nov 2025 14:58:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BB=A1=E5=87=8F=E6=B4=BB=E5=8A=A8=20?= =?UTF-8?q?=E9=97=A8=E6=A7=9B=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OrderInfoServiceImpl.java | 33 ++++--------------- 1 file changed, 7 insertions(+), 26 deletions(-) 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()) {