购物车
这篇解决什么
购物车存在哪、谁能改、下单怎么带走选中行。读完能对上 trade_cart 的 userId / skuId / selected,以及为什么管理端没有购物车菜单。
默认端口 48080,用户端前缀 /app-api。开启见 商城功能设计。下单见 交易订单。
示意图:购物车只走用户端。登录会员 ID 从 Token 取,不要自己传 userId。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 用户端 | @RequestMapping("/trade/cart") | ruoyi-office/yudao-module-mall/yudao-module-trade-server/.../controller/app/cart/AppCartController.java |
| 加购 | POST /add | 同上 |
| 改数量 | PUT /update-count | 同上 |
| 改选中 | PUT /update-selected | 同上 |
| 购物车表 | trade_cart | CartDO |
没有管理端 Controller,也没有 views/mall 下的购物车页。PC 只处理下单后的订单。
字段
一行是「一个会员 + 一个 SKU」。数量和是否勾选在行上,价格当时读 SKU,不冗余到购物车。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
userId | 会员 | CartDO |
spuId / skuId | 商品 | 同上 |
count | 购买数量 | 同上 |
selected | 是否勾选结算 | 同上 |
GET /list 会带上当前 SPU/SKU 是否上架、库存够不够。失效行仍可能在表里,结算时要丢掉。
下单后购物车项会走订单
trade_order_item.cartId 指向原购物车行。结算选中行,不要以为删购物车就等于取消订单。
按本仓库 DO 生成的 ER。购物车不是库存锁定。
配置与操作
没有管理端菜单和 Controller。会员在用户端 /app-api/trade/cart 加购、改数量、勾选。一行是一个会员 + 一个 SKU,价格当时读 SKU。
结算选中行后,trade_order_item.cartId 指向原行。删购物车不会取消已生成订单。库存不在这里锁定。开启见 商城功能设计。
