|
|
@@ -1,17 +1,18 @@
|
|
|
# 史诗006:父子商品多规格支持 - 棕地增强
|
|
|
|
|
|
## 史诗状态
|
|
|
-**进度**: 2/6 故事完成 (33%)
|
|
|
-**最近更新**: 2025-12-10 (故事2已完成,更新完成状态)
|
|
|
-**当前状态**: 故事1-2已完成,故事3-6待实现
|
|
|
+**进度**: 2/7 故事完成 (29%)
|
|
|
+**最近更新**: 2025-12-10 (新增故事3:子商品行内编辑功能)
|
|
|
+**当前状态**: 故事1-2已完成,故事3-7待实现
|
|
|
|
|
|
### 完成概览
|
|
|
- ✅ **故事1**: 管理后台父子商品配置功能 (已完成)
|
|
|
- ✅ **故事2**: 父子商品管理UI体验优化 (已完成)
|
|
|
-- ⏳ **故事3**: 商品API父子商品支持优化 (待实现)
|
|
|
-- ⏳ **故事4**: 父子商品多规格选择组件开发 (待实现)
|
|
|
-- ⏳ **故事5**: 商品详情页规格选择集成 (待实现)
|
|
|
-- ⏳ **故事6**: 购物车和订单规格支持 (待实现)
|
|
|
+- ⏳ **故事3**: 子商品行内编辑功能 (待实现)
|
|
|
+- ⏳ **故事4**: 商品API父子商品支持优化 (待实现)
|
|
|
+- ⏳ **故事5**: 父子商品多规格选择组件开发 (待实现)
|
|
|
+- ⏳ **故事6**: 商品详情页规格选择集成 (待实现)
|
|
|
+- ⏳ **故事7**: 购物车和订单规格支持 (待实现)
|
|
|
|
|
|
## 史诗目标
|
|
|
新增父子商品多规格支持功能,在商品添加购物车或立即购买时,能同时支持单规格和多规格选择,以子商品作为多规格选项,并支持手动指定子商品。
|
|
|
@@ -41,14 +42,15 @@
|
|
|
- **前端**:父子商品的多规格选择界面和逻辑,支持多租户环境
|
|
|
- **API调整**:
|
|
|
- 故事2已完成:管理员父子商品管理API(获取子商品列表、设为父商品、解除关系、批量创建)
|
|
|
- - 故事3待实现:公共商品API父子商品支持优化
|
|
|
+ - 故事4待实现:公共商品API父子商品支持优化
|
|
|
- **集成点**:多租户商品模块、商品管理UI、商品详情页、购物车系统、订单提交流程
|
|
|
- **成功标准**:
|
|
|
1. ✅ 管理员能配置父子商品关系(故事1-2已完成)
|
|
|
- 2. ⏳ 用户能在商品详情页选择子商品作为规格(故事4-5待实现)
|
|
|
- 3. ⏳ 购物车和订单正确记录规格信息(故事6待实现)
|
|
|
- 4. ⏳ 商品列表页保持整洁(只显示父商品)(故事3待实现)
|
|
|
- 5. ✅ 多租户隔离机制保持完整(故事1-2已实现)
|
|
|
+ 2. ⏳ 管理员能直接在父子商品管理面板中编辑子商品信息(故事3待实现)
|
|
|
+ 3. ⏳ 用户能在商品详情页选择子商品作为规格(故事5-6待实现)
|
|
|
+ 4. ⏳ 购物车和订单正确记录规格信息(故事7待实现)
|
|
|
+ 5. ⏳ 商品列表页保持整洁(只显示父商品)(故事4待实现)
|
|
|
+ 6. ✅ 多租户隔离机制保持完整(故事1-2已实现)
|
|
|
|
|
|
## 设计决策
|
|
|
|
|
|
@@ -119,7 +121,23 @@
|
|
|
- **数据同步**:通过`onDataChange`回调实现面板与表单数据的实时同步
|
|
|
- **批量创建**:支持事务处理,子商品继承父商品的分类、供应商、商户等信息
|
|
|
|
|
|
-3. **故事3:商品API父子商品支持优化** ⏳ **待实现**
|
|
|
+3. **故事3:子商品行内编辑功能** ⏳ **待实现**
|
|
|
+ - **问题背景**:当前在商品编辑对话框中,管理子商品时,点击编辑按钮直接调用更新API,并没有切换成更新表单
|
|
|
+ - **解决方案**:在子商品列表中实现行内编辑功能,点击编辑时将当前行切换为可编辑状态
|
|
|
+ - **功能需求**:
|
|
|
+ - 在`ChildGoodsList.tsx`组件中添加行内编辑模式
|
|
|
+ - 点击编辑按钮时,当前行切换为表单输入模式
|
|
|
+ - 支持编辑子商品的基本信息:名称、价格、成本价、库存、排序、状态
|
|
|
+ - 提供保存和取消按钮,保存时调用更新API
|
|
|
+ - 编辑完成后自动刷新子商品列表
|
|
|
+ - **技术实现**:
|
|
|
+ - 扩展`ChildGoodsList`组件,支持`editingChildId`状态管理
|
|
|
+ - 添加行内编辑表单,复用现有商品表单验证逻辑
|
|
|
+ - 集成商品更新API调用
|
|
|
+ - 保持与现有父子商品管理面板的集成
|
|
|
+ - **验收标准**:管理员能在父子商品管理面板中直接编辑子商品信息,无需跳转到其他页面,编辑体验流畅自然
|
|
|
+
|
|
|
+4. **故事4:商品API父子商品支持优化** ⏳ **待实现**
|
|
|
- 公共商品列表API:默认只返回父商品(spuId=0),支持过滤参数显示子商品
|
|
|
- 商品详情API:根据商品类型返回相应数据(父商品+子商品列表或子商品+父商品信息)
|
|
|
- 管理员商品API:增强父子商品关系展示和查询优化
|
|
|
@@ -129,21 +147,21 @@
|
|
|
- 商品列表查询性能优化
|
|
|
- **验收标准**:API变更保持向后兼容,公共商品列表正确过滤父子商品关系,商品详情包含完整的父子商品信息
|
|
|
|
|
|
-4. **故事4:父子商品多规格选择组件开发** ⏳ **待实现**
|
|
|
+5. **故事5:父子商品多规格选择组件开发** ⏳ **待实现**
|
|
|
- 激活并增强现有的`GoodsSpecSelector`组件
|
|
|
- 支持父子商品关系,以子商品名称作为规格选项显示
|
|
|
- 规格选择实际选择对应的子商品ID
|
|
|
- 适配多租户商品数据查询
|
|
|
- **验收标准**:规格选择器能正确显示子商品名称作为规格,并能选择对应的子商品
|
|
|
|
|
|
-5. **故事5:商品详情页规格选择集成** ⏳ **待实现**
|
|
|
+6. **故事6:商品详情页规格选择集成** ⏳ **待实现**
|
|
|
- 在商品详情页集成规格选择组件
|
|
|
- "立即购买"和"加入购物车"支持规格选择
|
|
|
- 规格选择后使用子商品的价格和库存信息
|
|
|
- 多租户环境下的商品规格数据获取
|
|
|
- **验收标准**:用户能在商品详情页成功选择规格,系统使用正确的子商品价格和库存
|
|
|
|
|
|
-6. **故事6:购物车和订单规格支持** ⏳ **待实现**
|
|
|
+7. **故事7:购物车和订单规格支持** ⏳ **待实现**
|
|
|
- **购物车最小化修改**:适配`addToCart`逻辑,支持添加子商品(使用子商品信息填充CartItem)
|
|
|
- **规格信息显示**:购物车和订单中通过`name`字段显示完整规格信息
|
|
|
- **订单系统兼容**:订单创建使用商品ID(可能是子商品ID),保持现有逻辑
|
|
|
@@ -163,7 +181,7 @@
|
|
|
- **回滚计划**:移除新增API端点,恢复原有逻辑,保持多租户完整性
|
|
|
|
|
|
## 完成定义
|
|
|
-- [ ] 所有故事完成,验收标准满足(2/6完成)
|
|
|
+- [ ] 所有故事完成,验收标准满足(2/7完成)
|
|
|
- [x] 现有功能通过测试验证(故事1-2测试通过)
|
|
|
- [x] API变更经过兼容性测试(故事2 API测试通过)
|
|
|
- [x] 多租户隔离机制保持完整(故事1-2已实现)
|