From 9137f8e0a5d7bcdf54c038d2994ce20d13f0a94e Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 25 Mar 2025 17:56:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=89=93=E5=8D=B0=20=E9=BB=98=E8=AE=A4=E5=8E=9F=E4=BB=B7=20?= =?UTF-8?q?=E6=89=93=E5=8C=85=E8=B4=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/czg/service/order/dto/VipPayParamDTO.java | 2 ++ .../service/order/service/impl/OrderInfoServiceImpl.java | 1 + .../czg/service/order/service/impl/PayServiceImpl.java | 9 +++++++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java b/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java index dfbaf078..aadea133 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/dto/VipPayParamDTO.java @@ -30,6 +30,8 @@ public class VipPayParamDTO { */ private Integer userAllPack; private Integer seatNum; + //会员价 + private Integer vipPrice; @NotNull(message = "充值金额不为空") private BigDecimal amount; 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 6c78b481..e75ad5ea 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 @@ -460,6 +460,7 @@ public class OrderInfoServiceImpl extends ServiceImpl orderDetails, Map prodCouponMap, BigDecimalDTO prodCouponAmount, BigDecimalDTO totalAmount, BigDecimalDTO packAmount, boolean isAllPack, Integer userAllPack, boolean isVipPrice) { + log.info("霸王餐入参2 userAllPack:{}", userAllPack); Map> detailMap = new HashMap<>(); for (OrderDetail detail : orderDetails) { detailMap.computeIfAbsent(detail.getProductId(), k -> new ArrayList<>()).add(detail); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 936c3c6a..c006e1b2 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -147,15 +147,17 @@ public class PayServiceImpl implements PayService { BigDecimalDTO totalAmount = new BigDecimalDTO(BigDecimal.ZERO); //最终打包费 BigDecimalDTO packAmount = new BigDecimalDTO(BigDecimal.ZERO); - orderInfoService.processOrderDetails2(orderDetails, null, null, totalAmount, packAmount, payParam.isAllPack(), payParam.getUserAllPack(), true); + log.info("霸王餐入参:{}", JSON.toJSONString(payParam)); + orderInfoService.processOrderDetails2(orderDetails, null, null, totalAmount, packAmount, payParam.isAllPack(), payParam.getUserAllPack(), false); BigDecimal total = totalAmount.getPrice().add(packAmount.getPrice()); if (total.compareTo(freeConfig.getRechargeThreshold()) < 0) { throw new CzgException("霸王餐满" + freeConfig.getRechargeThreshold() + "可用,当前订单金额为" + total); } BigDecimal payAmount = (totalAmount.getPrice().add(packAmount.getPrice()).add(orderInfo.getSeatAmount())) .multiply(new BigDecimal(freeConfig.getMultiple())).setScale(2, RoundingMode.HALF_UP); - log.info("霸王餐应支付金额:{},充值金额为:{}", payAmount, payParam.getAmount()); if (payAmount.compareTo(payParam.getAmount()) != 0) { + log.info("霸王餐应支付金额:{} 其中 打包费{} 餐位费{},充值金额为:{}", + payAmount, packAmount.getPrice(), orderInfo.getSeatAmount(), payParam.getAmount()); throw new ValidateException("霸王餐支付金额不正确"); } orderDetailService.updateBatch(orderDetails); @@ -542,6 +544,9 @@ public class PayServiceImpl implements PayService { @Transactional public CzgResult refundOrderBefore(OrderInfoRefundDTO param) { OrderInfo orderInfo = orderInfoService.getById(param.getOrderId()); + if (orderInfo.getStatus().equals(OrderStatusEnums.CANCELLED.getCode())) { + throw new CzgException("订单已过期不可退单"); + } ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId()); Map returnProMap = new HashMap<>(); boolean isPay = true;