From 170aa0194603b8e723febbd128e8e41101ce0a10 Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 27 Jun 2022 17:57:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E4=BC=9A=E5=AF=BC=E8=87=B4=E4=BC=98=E6=83=A0=E5=88=B8=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/cart/service/CartServiceImpl.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java index f6a3fe26..51007a39 100644 --- a/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/cart/service/CartServiceImpl.java @@ -199,9 +199,9 @@ public class CartServiceImpl implements CartService { this.checkGoodsSaleModel(dataSku, tradeDTO.getSkuList()); tradeDTO.setCartTypeEnum(cartTypeEnum); - //如购物车发生更改,则重置优惠券 - tradeDTO.setStoreCoupons(null); - tradeDTO.setPlatformCoupon(null); + + remoteCoupon(tradeDTO); + this.resetTradeDTO(tradeDTO); } catch (ServiceException serviceException) { throw serviceException; @@ -245,6 +245,9 @@ public class CartServiceImpl implements CartService { @Override public void checked(String skuId, boolean checked) { TradeDTO tradeDTO = this.readDTO(CartTypeEnum.CART); + + remoteCoupon(tradeDTO); + List cartSkuVOS = tradeDTO.getSkuList(); for (CartSkuVO cartSkuVO : cartSkuVOS) { if (cartSkuVO.getGoodsSku().getId().equals(skuId)) { @@ -257,6 +260,9 @@ public class CartServiceImpl implements CartService { @Override public void checkedStore(String storeId, boolean checked) { TradeDTO tradeDTO = this.readDTO(CartTypeEnum.CART); + + remoteCoupon(tradeDTO); + List cartSkuVOS = tradeDTO.getSkuList(); for (CartSkuVO cartSkuVO : cartSkuVOS) { if (cartSkuVO.getStoreId().equals(storeId)) { @@ -269,6 +275,9 @@ public class CartServiceImpl implements CartService { @Override public void checkedAll(boolean checked) { TradeDTO tradeDTO = this.readDTO(CartTypeEnum.CART); + + remoteCoupon(tradeDTO); + List cartSkuVOS = tradeDTO.getSkuList(); for (CartSkuVO cartSkuVO : cartSkuVOS) { cartSkuVO.setChecked(checked); @@ -276,6 +285,15 @@ public class CartServiceImpl implements CartService { cache.put(this.getOriginKey(CartTypeEnum.CART), tradeDTO); } + /** + * 当购物车商品发生变更时,取消已选择当优惠券 + * @param tradeDTO + */ + private void remoteCoupon(TradeDTO tradeDTO){ + tradeDTO.setPlatformCoupon(null); + tradeDTO.setStoreCoupons(new HashMap<>()); + } + @Override @Transactional(rollbackFor = Exception.class) public void delete(String[] skuIds) {