From 9c2de1f739fa4af8d62127ee832d366213b93342 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 14 一月 2026 09:02:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsShopController.java |   34 +++++++++++++++++++++++++++++-----
 1 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsShopController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsShopController.java
index 8a255ab..94e1cb5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsShopController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TErpGoodsShopController.java
@@ -141,7 +141,19 @@
             if (!cacheList.isEmpty()) {
                 for (ShoppingCartItem cartItem : cacheList) {
                     if (cartItem.getId().equals(id)) {
-                        cartItem.setNum( num);
+                        cartItem.setNum(num);
+                        if (num==0){
+                            // 移除
+                            List<ShoppingCartItem> res = new ArrayList<>();
+                            for (ShoppingCartItem c : cacheList) {
+                                if (c.getNum()==0){
+                                    continue;
+                                }
+                                res.add(c);
+                            }
+                            redisCache.setCacheList("shopCart:"+userId, res);
+                            return R.ok();
+                        }
                         redisCache.setCacheList("shopCart:"+userId, cacheList);
                         return R.ok();
                     }else{
@@ -149,14 +161,26 @@
                     }
                 }
             } else {
-                cacheList = new ArrayList<>();
-                cacheList.add(shoppingCartItem);
+                if (num!=0){
+                    cacheList = new ArrayList<>();
+                    cacheList.add(shoppingCartItem);
+                }
+
             }
         } else {
             cacheList = new ArrayList<>();
-            cacheList.add(shoppingCartItem);
+            if (num!=0){
+                cacheList.add(shoppingCartItem);
+            }
         }
-        redisCache.setCacheList("shopCart:"+userId, cacheList);
+        List<ShoppingCartItem> res = new ArrayList<>();
+        for (ShoppingCartItem cartItem : cacheList) {
+            if (cartItem.getNum()==0){
+                continue;
+            }
+            res.add(cartItem);
+        }
+        redisCache.setCacheList("shopCart:"+userId, res);
         return R.ok();
     }
 

--
Gitblit v1.7.1