فهرست منبع

💡 refactor(prd): 简化史诗006购物车逻辑理解

## 关键洞察
购物车和订单系统不需要大改,因为:
1. 购物车始终存储商品(CartItem接口)
2. 规格选择只是决定存储哪个商品(父商品或子商品)
3. spec字段存储规格名称(子商品名称)

## 主要更新
1. 澄清"购物车逻辑不变"的核心洞察
2. 更新前端适配部分,简化实现理解
3. 更新故事5描述,反映购物车只需适配而非重写

## 实现简化
- 规格选择器:显示子商品名称,选择后使用子商品信息
- 购物车:使用选中商品的信息填充CartItem
- 订单:使用商品ID创建订单,spec字段传递规格名称

🤖 Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 ماه پیش
والد
کامیت
6230fa56b5
1فایلهای تغییر یافته به همراه14 افزوده شده و 15 حذف شده
  1. 14 15
      docs/prd/epic-006-parent-child-goods-multi-spec-support.md

+ 14 - 15
docs/prd/epic-006-parent-child-goods-multi-spec-support.md

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