Browse Source

🎯 refactor(prd): 进一步简化史诗006规格实现

## 关键发现
`spec`字段可能暂时不需要,因为:
1. `name`字段已经包含完整的规格信息(子商品名称)
2. 购物车逻辑只需要正确选择商品(父商品或子商品)
3. 订单系统使用商品ID,`name`字段显示完整信息

## 主要更新
1. 澄清`name`字段已包含完整规格信息
2. 更新购物车逻辑为"极致简化"
3. 更新故事5为"最小化修改"
4. 强调`spec`字段可暂时忽略

## 实现简化到极致
- 规格选择器:选择子商品
- 购物车:使用选中商品的`id`、`name`、`price`、`stock`
- 订单:使用商品ID,`name`字段显示信息
- `spec`字段:暂时不需要或与`name`相同

🤖 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 tháng trước cách đây
mục cha
commit
fca9be18fd
1 tập tin đã thay đổi với 15 bổ sung12 xóa
  1. 15 12
      docs/prd/epic-006-parent-child-goods-multi-spec-support.md

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

@@ -33,8 +33,11 @@
 ### 1. 规格概念澄清
 - **规格 = 子商品的名称**:子商品的`name`字段作为规格名称
 - **规格选择 = 选择子商品**:选择规格时实际选择对应的子商品
-- **购物车逻辑不变**:购物车始终存储商品(可能是父商品或子商品),`spec`字段存储规格名称(子商品名称)
-- **核心洞察**:购物车和订单系统不需要大改,只是商品ID可能是子商品ID
+- **购物车逻辑简化**:
+  - 如果选择规格:使用子商品的`id`、`name`、`price`、`stock`
+  - 如果不选择规格:使用父商品的`id`、`name`、`price`、`stock`
+  - **关键洞察**:`name`字段已经包含完整的规格信息,`spec`字段可能暂时不需要
+- **核心优势**:购物车和订单系统几乎不需要修改
 
 ### 2. 商品列表展示策略
 - **商品列表页**(首页、分类页、搜索页):只显示父商品(spuId=0)
@@ -84,11 +87,11 @@
    - **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
 
 5. **故事5:购物车和订单规格支持**
-   - **购物车逻辑适配**:支持添加子商品到购物车,使用子商品信息填充CartItem
-   - **规格信息显示**:在购物车和订单中显示规格名称(子商品名称)
-   - **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),规格信息通过spec字段传递
+   - **购物车最小化修改**:适配`addToCart`逻辑,支持添加子商品(使用子商品信息填充CartItem)
+   - **规格信息显示**:购物车和订单中通过`name`字段显示完整规格信息
+   - **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),保持现有逻辑
    - **多租户兼容性**:确保父子商品在同一租户下
-   - **验收标准**:购物车能正确添加子商品,订单显示规格信息,现有单规格商品不受影响
+   - **验收标准**:购物车能正确添加子商品,订单显示完整商品名称,现有单规格商品不受影响
 
 ## 兼容性要求
 - [ ] 现有API保持向后兼容,新增端点不影响现有功能
@@ -129,12 +132,12 @@
 
 ### 前端适配
 - **规格选择器**:显示子商品名称作为规格选项,选择时使用子商品信息
-- **购物车逻辑简化**:
-  - 如果选择规格:使用子商品的`id`、`name`、`price`、`stock`,`spec`=子商品名称
-  - 如果不选择规格(单规格商品):使用父商品的`id`、`name`、`price`、`stock`,`spec`=undefined
-  - **关键**:购物车接口和逻辑保持不变,只是商品可能是子商品
-- **商品详情页**:父商品信息展示,规格选择后使用选中商品(子商品)的信息
-- 保持现有UI样式和错误处理机制
+- **购物车逻辑极致简化**:
+  - 如果选择规格:`CartItem`使用子商品的`id`、`name`、`price`、`stock`
+  - 如果不选择规格:`CartItem`使用父商品的`id`、`name`、`price`、`stock`
+  - **关键**:`name`字段已经包含完整规格信息,`spec`字段可暂时忽略或设置为相同值
+- **商品详情页**:父商品信息展示,规格选择后使用选中商品的信息
+- **最大优势**:购物车和订单逻辑几乎不需要修改,只需正确选择商品
 
 ---
 **史诗创建时间**:2025-12-06