|
@@ -1,16 +1,16 @@
|
|
|
# 史诗006:父子商品多规格支持 - 棕地增强
|
|
# 史诗006:父子商品多规格支持 - 棕地增强
|
|
|
|
|
|
|
|
## 史诗状态
|
|
## 史诗状态
|
|
|
-**进度**: 4/7 故事完成 (57%)
|
|
|
|
|
-**最近更新**: 2025-12-12 (故事4:商品API父子商品支持优化已完成)
|
|
|
|
|
-**当前状态**: 故事1-4已完成,故事5-7待实现
|
|
|
|
|
|
|
+**进度**: 5/7 故事完成 (71%)
|
|
|
|
|
+**最近更新**: 2025-12-12 (故事5:父子商品多规格选择组件开发已完成)
|
|
|
|
|
+**当前状态**: 故事1-5已完成,故事6-7待实现
|
|
|
|
|
|
|
|
### 完成概览
|
|
### 完成概览
|
|
|
- ✅ **故事1**: 管理后台父子商品配置功能 (已完成)
|
|
- ✅ **故事1**: 管理后台父子商品配置功能 (已完成)
|
|
|
- ✅ **故事2**: 父子商品管理UI体验优化 (已完成)
|
|
- ✅ **故事2**: 父子商品管理UI体验优化 (已完成)
|
|
|
- ✅ **故事3**: 子商品行内编辑功能 (已完成)
|
|
- ✅ **故事3**: 子商品行内编辑功能 (已完成)
|
|
|
- ✅ **故事4**: 商品API父子商品支持优化 (已完成)
|
|
- ✅ **故事4**: 商品API父子商品支持优化 (已完成)
|
|
|
-- ⏳ **故事5**: 父子商品多规格选择组件开发 (待实现)
|
|
|
|
|
|
|
+- ✅ **故事5**: 父子商品多规格选择组件开发 (已完成)
|
|
|
- ⏳ **故事6**: 商品详情页规格选择集成 (待实现)
|
|
- ⏳ **故事6**: 商品详情页规格选择集成 (待实现)
|
|
|
- ⏳ **故事7**: 购物车和订单规格支持 (待实现)
|
|
- ⏳ **故事7**: 购物车和订单规格支持 (待实现)
|
|
|
|
|
|
|
@@ -49,10 +49,10 @@
|
|
|
- **成功标准**:
|
|
- **成功标准**:
|
|
|
1. ✅ 管理员能配置父子商品关系(故事1-2已完成)
|
|
1. ✅ 管理员能配置父子商品关系(故事1-2已完成)
|
|
|
2. ✅ 管理员能直接在父子商品管理面板中编辑子商品信息(故事3已完成)
|
|
2. ✅ 管理员能直接在父子商品管理面板中编辑子商品信息(故事3已完成)
|
|
|
- 3. ⏳ 用户能在商品详情页选择子商品作为规格(故事5-6待实现)
|
|
|
|
|
|
|
+ 3. ⏳ 用户能在商品详情页选择子商品作为规格(故事5已完成,故事6待实现)
|
|
|
4. ⏳ 购物车和订单正确记录规格信息(故事7待实现)
|
|
4. ⏳ 购物车和订单正确记录规格信息(故事7待实现)
|
|
|
5. ✅ 商品列表页保持整洁(只显示父商品)(故事4已完成)
|
|
5. ✅ 商品列表页保持整洁(只显示父商品)(故事4已完成)
|
|
|
- 6. ✅ 多租户隔离机制保持完整(故事1-4已实现)
|
|
|
|
|
|
|
+ 6. ✅ 多租户隔离机制保持完整(故事1-5已实现)
|
|
|
|
|
|
|
|
## 设计决策
|
|
## 设计决策
|
|
|
|
|
|
|
@@ -191,12 +191,21 @@
|
|
|
- ✅ 添加完整的集成测试验证父子商品功能
|
|
- ✅ 添加完整的集成测试验证父子商品功能
|
|
|
- ✅ 代码已提交并推送到远程仓库
|
|
- ✅ 代码已提交并推送到远程仓库
|
|
|
|
|
|
|
|
-5. **故事5:父子商品多规格选择组件开发** ⏳ **待实现**
|
|
|
|
|
|
|
+5. **故事5:父子商品多规格选择组件开发** ✅ **已实现 (2025-12-12)**
|
|
|
- 激活并增强现有的`GoodsSpecSelector`组件
|
|
- 激活并增强现有的`GoodsSpecSelector`组件
|
|
|
- 支持父子商品关系,以子商品名称作为规格选项显示
|
|
- 支持父子商品关系,以子商品名称作为规格选项显示
|
|
|
- 规格选择实际选择对应的子商品ID
|
|
- 规格选择实际选择对应的子商品ID
|
|
|
- 适配多租户商品数据查询
|
|
- 适配多租户商品数据查询
|
|
|
- **验收标准**:规格选择器能正确显示子商品名称作为规格,并能选择对应的子商品
|
|
- **验收标准**:规格选择器能正确显示子商品名称作为规格,并能选择对应的子商品
|
|
|
|
|
+ - **完成状态**:
|
|
|
|
|
+ - ✅ 修改组件props:将goodsId改为parentGoodsId,添加API调用获取子商品列表
|
|
|
|
|
+ - ✅ 组件功能完整:支持加载、错误、空状态显示,规格选择和数量调整
|
|
|
|
|
+ - ✅ 集成到商品详情页:取消组件导入注释,添加规格选择状态管理
|
|
|
|
|
+ - ✅ 更新"加入购物车"和"立即购买"功能,支持规格选择逻辑
|
|
|
|
|
+ - ✅ 修复多租户路由暴露问题:创建`public-goods-aggregated.mt.ts`聚合路由,确保子商品API正确暴露
|
|
|
|
|
+ - ✅ 移除类型断言:组件完全类型安全,无需any类型断言
|
|
|
|
|
+ - ✅ 添加单元测试:创建`mini/tests/components/goods-spec-selector.test.tsx`,8个测试通过
|
|
|
|
|
+ - ✅ 保持向后兼容性:无规格商品时使用父商品信息
|
|
|
|
|
|
|
|
6. **故事6:商品详情页规格选择集成** ⏳ **待实现**
|
|
6. **故事6:商品详情页规格选择集成** ⏳ **待实现**
|
|
|
- 在商品详情页集成规格选择组件
|
|
- 在商品详情页集成规格选择组件
|
|
@@ -225,13 +234,13 @@
|
|
|
- **回滚计划**:移除新增API端点,恢复原有逻辑,保持多租户完整性
|
|
- **回滚计划**:移除新增API端点,恢复原有逻辑,保持多租户完整性
|
|
|
|
|
|
|
|
## 完成定义
|
|
## 完成定义
|
|
|
-- [ ] 所有故事完成,验收标准满足(4/7完成)
|
|
|
|
|
-- [x] 现有功能通过测试验证(故事1-4测试通过)
|
|
|
|
|
-- [x] API变更经过兼容性测试(故事2-4 API测试通过)
|
|
|
|
|
-- [x] 多租户隔离机制保持完整(故事1-4已实现)
|
|
|
|
|
|
|
+- [ ] 所有故事完成,验收标准满足(5/7完成)
|
|
|
|
|
+- [x] 现有功能通过测试验证(故事1-5测试通过)
|
|
|
|
|
+- [x] API变更经过兼容性测试(故事2-5 API测试通过)
|
|
|
|
|
+- [x] 多租户隔离机制保持完整(故事1-5已实现)
|
|
|
- [x] 性能测试通过,无明显性能下降(故事4添加数据库索引优化)
|
|
- [x] 性能测试通过,无明显性能下降(故事4添加数据库索引优化)
|
|
|
- [x] 文档适当更新(史诗文档已更新)
|
|
- [x] 文档适当更新(史诗文档已更新)
|
|
|
-- [x] 现有功能无回归(故事1-4验证通过)
|
|
|
|
|
|
|
+- [x] 现有功能无回归(故事1-5验证通过)
|
|
|
|
|
|
|
|
## 技术要点
|
|
## 技术要点
|
|
|
|
|
|