From 8d5642c07ac59ddaad4870f5480b2ac3b72d4596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Wed, 6 Nov 2024 15:35:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=9B=E5=BB=BA=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=BB=B7=E8=AE=A1=E7=AE=97=E6=9C=89=E8=AF=AF?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/shopimpl/TbShopTableServiceImpl.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 28db6116..60ac57ef 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -1385,18 +1385,18 @@ public class TbShopTableServiceImpl implements TbShopTableService { * 根据商品优惠券 * * @param fullCashierCarts - * @param orderId + * @param orderInfo * @param shopId * @param updateState * @return */ - private OrderPriceDTO createOrderDetailWithCoupon(List fullCashierCarts, Integer orderId, Integer shopId, boolean updateState) { + private OrderPriceDTO createOrderDetailWithCoupon(List fullCashierCarts, TbOrderInfo orderInfo, Integer shopId, boolean updateState) { OrderPriceDTO priceDTO = new OrderPriceDTO(); List cartIds = fullCashierCarts.stream().map(TbCashierCart::getId).collect(Collectors.toList()); // 查询历史orderDetail List oldOrderDetailList = mpOrderDetailService - .selectByCartIdOrOrderId(shopId, cartIds, orderId); + .selectByCartIdOrOrderId(shopId, cartIds, orderInfo == null ? -1 : orderInfo.getId()); HashMap oldOrderDetailMap = new HashMap<>(); oldOrderDetailList.forEach(item -> { if (cartIds.contains(item.getCartId())) { @@ -1408,6 +1408,11 @@ public class TbShopTableServiceImpl implements TbShopTableService { }); for (TbCashierCart cashierCart : fullCashierCarts) { + if (orderInfo != null) { + cashierCart.setIsMember(orderInfo.getMemberId() == null ? 0 : 1); + cashierCart.resetTotalAmount(); + } + // 已经退款和使用优惠券的商品不进行统计金额 if (!"return".equals(cashierCart.getStatus()) && cashierCart.getUserCouponId() == null) { priceDTO.setTotalAmount(priceDTO.getTotalAmount().add(cashierCart.getTotalAmount())); @@ -1418,6 +1423,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { priceDTO.setOriginAmount(priceDTO.getOriginAmount().add(cashierCart.getTotalAmount())); } + TbProductSku productSku = productSkuRepository.findById(Integer.valueOf(cashierCart.getSkuId())).orElse(null); TbOrderDetail orderDetail = null; if (cashierCart.getOrderId() != null) { @@ -1451,10 +1457,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderDetail.setUseType(cashierCart.getUseType()); orderDetail.setProductImg(cashierCart.getCoverImg()); orderDetail.setCartId(cashierCart.getId()); - if (cashierCart.getOrderId() != null) { - orderId = cashierCart.getOrderId(); - } - orderDetail.setOrderId(orderId); + orderDetail.setOrderId(orderInfo == null ? null : orderInfo.getId()); priceDTO.getOrderDetailList().add(orderDetail); } return priceDTO;