fix(cart): 修复购物车同一商品重复显示问题

- 后端新增 ShopCartService.addToCart 方法,按 user_id+goods_id+sku_id 判重合并数量
- 修改 ShopCartController.save 调用为 addToCart,避免重复插入购物车记录
- sku_id 为 null 或 0 时,判重逻辑支持 null-safe 匹配
- 提供历史数据清理脚本 sql/shop_cart_merge_duplicates.sql 合并重复购物车数据
- 更新文档记录购物车合并逻辑及相关接口说明
- 编译通过,后端服务需重启生效
This commit is contained in:
2026-07-15 17:07:42 +08:00
parent b45a5722eb
commit fad7c5f58e
2 changed files with 13 additions and 0 deletions

View File

@@ -39,6 +39,7 @@
- 门店中心:`src/pages/store/center/index.tsx`
- 购物车 API`src/api/shop/shopCart/index.ts`(批量删除接口 `/shop/shop-cart/batch` 后端期望直接接收 `ArrayList<Integer>``[1,2,3]`,不要用 `{ ids }` 包裹)
- 购物车 Context`src/contexts/CartContext.tsx`
- 购物车合并加购:后端 `ShopCartServiceImpl.addToCart()` 按 user_id+goods_id+sku_id 判重,已存在则累加 cart_num不存在才新增skuId 为 null/0单规格匹配 IS NULL 或 =0。`ShopCart.userId` 是 Integer非 Long。历史重复数据清理脚本 `sql/shop_cart_merge_duplicates.sql`
## 订阅消息
- 模板 ID`sh1K9iK7vZjebUNFu6OsMsnsJxm4whThWGrhN7I4zVg`(交易提醒)