|
@@ -32,8 +32,9 @@
|
|
|
|
|
|
|
|
### 1. 规格概念澄清
|
|
### 1. 规格概念澄清
|
|
|
- **规格 = 子商品的名称**:子商品的`name`字段作为规格名称
|
|
- **规格 = 子商品的名称**:子商品的`name`字段作为规格名称
|
|
|
-- **规格选择 = 选择子商品**:选择规格时实际选择对应的子商品ID
|
|
|
|
|
-- **规格信息存储**:购物车的`spec`字段存储子商品名称,保持现有数据结构兼容
|
|
|
|
|
|
|
+- **规格选择 = 选择子商品**:选择规格时实际选择对应的子商品
|
|
|
|
|
+- **购物车逻辑不变**:购物车始终存储商品(可能是父商品或子商品),`spec`字段存储规格名称(子商品名称)
|
|
|
|
|
+- **核心洞察**:购物车和订单系统不需要大改,只是商品ID可能是子商品ID
|
|
|
|
|
|
|
|
### 2. 商品列表展示策略
|
|
### 2. 商品列表展示策略
|
|
|
- **商品列表页**(首页、分类页、搜索页):只显示父商品(spuId=0)
|
|
- **商品列表页**(首页、分类页、搜索页):只显示父商品(spuId=0)
|
|
@@ -83,11 +84,11 @@
|
|
|
- **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
|
|
- **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
|
|
|
|
|
|
|
|
5. **故事5:购物车和订单规格支持**
|
|
5. **故事5:购物车和订单规格支持**
|
|
|
- - 购物车系统支持存储子商品ID和名称(作为规格)
|
|
|
|
|
- - 订单提交流程传递子商品ID和规格信息
|
|
|
|
|
- - 订单详情页显示具体的子商品规格信息
|
|
|
|
|
- - 多租户订单系统的规格兼容性
|
|
|
|
|
- - **验收标准**:购物车和订单正确记录子商品ID和名称,保持现有spec字段兼容
|
|
|
|
|
|
|
+ - **购物车逻辑适配**:支持添加子商品到购物车,使用子商品信息填充CartItem
|
|
|
|
|
+ - **规格信息显示**:在购物车和订单中显示规格名称(子商品名称)
|
|
|
|
|
+ - **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),规格信息通过spec字段传递
|
|
|
|
|
+ - **多租户兼容性**:确保父子商品在同一租户下
|
|
|
|
|
+ - **验收标准**:购物车能正确添加子商品,订单显示规格信息,现有单规格商品不受影响
|
|
|
|
|
|
|
|
## 兼容性要求
|
|
## 兼容性要求
|
|
|
- [ ] 现有API保持向后兼容,新增端点不影响现有功能
|
|
- [ ] 现有API保持向后兼容,新增端点不影响现有功能
|
|
@@ -127,14 +128,12 @@
|
|
|
- 规格选择器数据懒加载
|
|
- 规格选择器数据懒加载
|
|
|
|
|
|
|
|
### 前端适配
|
|
### 前端适配
|
|
|
-- **规格选择器**:显示子商品名称作为规格选项,选择时记录子商品ID
|
|
|
|
|
-- **购物车数据结构**:
|
|
|
|
|
- - `id`: 子商品ID(实际购买的商品)
|
|
|
|
|
- - `name`: 子商品名称(作为规格显示)
|
|
|
|
|
- - `spec`: 子商品名称(保持现有spec字段兼容)
|
|
|
|
|
- - `price`: 子商品价格
|
|
|
|
|
- - `stock`: 子商品库存
|
|
|
|
|
-- **商品详情页**:父商品信息展示,规格选择后使用子商品价格和库存
|
|
|
|
|
|
|
+- **规格选择器**:显示子商品名称作为规格选项,选择时使用子商品信息
|
|
|
|
|
+- **购物车逻辑简化**:
|
|
|
|
|
+ - 如果选择规格:使用子商品的`id`、`name`、`price`、`stock`,`spec`=子商品名称
|
|
|
|
|
+ - 如果不选择规格(单规格商品):使用父商品的`id`、`name`、`price`、`stock`,`spec`=undefined
|
|
|
|
|
+ - **关键**:购物车接口和逻辑保持不变,只是商品可能是子商品
|
|
|
|
|
+- **商品详情页**:父商品信息展示,规格选择后使用选中商品(子商品)的信息
|
|
|
- 保持现有UI样式和错误处理机制
|
|
- 保持现有UI样式和错误处理机制
|
|
|
|
|
|
|
|
---
|
|
---
|