From 93f5b8e8ee425d8a72a3cf2010f0ae8caf149c44 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 24 Mar 2025 17:00:51 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=B8=E7=8E=8B=E9=A4=90=20=E9=A4=90?= =?UTF-8?q?=E4=BD=8D=E8=B4=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/czg/service/order/dto/VipPayParamDTO.java | 1 + .../czg/service/order/service/impl/PayServiceImpl.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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 6528ed5c..dfbaf078 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 @@ -29,6 +29,7 @@ public class VipPayParamDTO { * 用户端 使用 全打包 或者 全不打包 */ private Integer userAllPack; + private Integer seatNum; @NotNull(message = "充值金额不为空") private BigDecimal amount; 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 32684ac8..3606ec63 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 @@ -133,6 +133,13 @@ public class PayServiceImpl implements PayService { } OrderInfo orderInfo = orderInfoService.getById(payParam.getOrderId()); AssertUtil.isNull(orderInfo, "订单不存在"); + orderInfo.setSeatNum(payParam.getSeatNum()); + ShopInfo shopInfo = shopInfoService.getById(orderInfo.getShopId()); + if (shopInfo.getIsTableFee() != 1 && shopInfo.getTableFee().compareTo(BigDecimal.ZERO) != 0) { + orderInfo.setSeatAmount(new BigDecimal(orderInfo.getSeatNum()).multiply(shopInfo.getTableFee())); + } else { + orderInfo.setSeatAmount(BigDecimal.ZERO); + } //获取商品信息 计算金额 需要传入优惠券 减去优惠券 List orderDetails = orderDetailService.queryChain().eq(OrderDetail::getOrderId, orderInfo.getId()).select().list(); //总商品支付金额 不包含打包费 用来计算后续 @@ -144,7 +151,7 @@ public class PayServiceImpl implements PayService { if (total.compareTo(freeConfig.getRechargeThreshold()) < 0) { throw new CzgException("霸王餐满" + freeConfig.getRechargeThreshold() + "可用,当前订单金额为" + total); } - BigDecimal payAmount = (totalAmount.getPrice().add(packAmount.getPrice())).multiply(new BigDecimal(freeConfig.getMultiple())); + BigDecimal payAmount = (totalAmount.getPrice().add(packAmount.getPrice()).add(orderInfo.getSeatAmount())).multiply(new BigDecimal(freeConfig.getMultiple())); log.info("霸王餐应支付金额:{},充值金额为:{}", payAmount, payParam.getAmount()); if (payAmount.compareTo(payParam.getAmount()) != 0) { throw new ValidateException("霸王餐支付金额不正确");