From 529ad9dd8d1876b57e852bc45b602ba3ccc8df2a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 10 Apr 2024 17:19:08 +0800
Subject: [PATCH] 公告-首页公告调整

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
index f0b7090..ad51eb4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
@@ -13,6 +13,7 @@
 import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper;
 import cc.mrbird.febs.mall.service.IApiMallShoppingCartService;
 import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -47,10 +48,17 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addGoodsToCart(List<AddCartDto> addCartDtoList) {
+        Long memberId = LoginUserUtil.getLoginUser().getId();
         for (AddCartDto addCartDto : addCartDtoList) {
             Long goodsId = null;
             Long skuId = null;
             Long styleId = null;
+            MallShoppingCart cartGoods = null;
+
+            if (addCartDto.getType() == null) {
+                addCartDto.setType(1);
+            }
+
             if (addCartDto.getType() == 1) {
                 MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId());
 
@@ -61,6 +69,8 @@
                 goodsId = sku.getGoodsId();
                 skuId = sku.getId();
                 styleId = sku.getStyleId();
+
+                cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId);
             } else {
                 MallGoods mallGoods = mallGoodsMapper.selectById(addCartDto.getSkuId());
                 if (mallGoods == null) {
@@ -68,10 +78,14 @@
                 }
 
                 goodsId = mallGoods.getId();
-            }
-            Long memberId = LoginUserUtil.getLoginUser().getId();
 
-            MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId);
+                LambdaQueryWrapper<MallShoppingCart> cartQuery = new LambdaQueryWrapper<>();
+                cartQuery.eq(MallShoppingCart::getGoodsId, goodsId)
+                        .eq(MallShoppingCart::getMemberId, memberId)
+                        .last("limit 1");
+                cartGoods = this.baseMapper.selectOne(cartQuery);
+            }
+
             if (cartGoods == null) {
                 cartGoods = new MallShoppingCart();
                 cartGoods.setGoodsId(goodsId);

--
Gitblit v1.9.1