diff --git a/Delivery-Issues.-.md b/Delivery-Issues.-.md index 7269e41..3bf2eeb 100644 --- a/Delivery-Issues.-.md +++ b/Delivery-Issues.-.md @@ -43,7 +43,7 @@ | 顺序 | 工单 | 交付项 | 主要依赖 / 门禁 | |---|---|---|---| -| T29 | [#31](https://git.ilapage.cn/OPC/goauto/issues/31) | PDD 商品采购档案与规格 JSON 管理 | 原型已确认;代码待用户验收 | +| T29 | [#31](https://git.ilapage.cn/OPC/goauto/issues/31) | PDD 商品采购档案与规格 JSON 管理(2026-08-17 已验收) | 已完成 | | T30 | [#32](https://git.ilapage.cn/OPC/goauto/issues/32) | 采购闭环数据关系与交互原型 | #31;#32 原型是全部采购代码门禁 | | T31 | [#33](https://git.ilapage.cn/OPC/goauto/issues/33) | 采购任务数据模型与共享 API 契约 | #31、#40、#41、#32 原型通过 | | T32 | [#34](https://git.ilapage.cn/OPC/goauto/issues/34) | 服务端采购任务、租约、幂等与状态机 | #33 | @@ -55,7 +55,7 @@ | T38 | [#40](https://git.ilapage.cn/OPC/goauto/issues/40) | Shopee 商品档案、PDD 关联与规格映射 | #31;商品域独立于采购任务 | | T39 | [#41](https://git.ilapage.cn/OPC/goauto/issues/41) | SYB 货运单商品导入与 Shopee 信息提取 | #40;源数据域独立于采购任务 | | T40 | [#42](https://git.ilapage.cn/OPC/goauto/issues/42) | Android 采购演练规则与持久执行基线 | #33、#34;只演练,不改地址、不创建订单 | -| T43 | [#45](https://git.ilapage.cn/OPC/goauto/issues/45) | Admin PDD 商品列表多选与批量采集任务创建 | #31 原型已确认;独立于商品档案实施 | +| T43 | [#45](https://git.ilapage.cn/OPC/goauto/issues/45) | Admin PDD 商品列表多选与批量采集任务创建 | #31 已验收;下一张采集域工单 | 推荐依赖顺序:#31、#40、#41 完成商品域 → #33、#34 建立采购契约和服务端状态机 → #42 完成不下单演练 → #35 管理端人工处理 → #36 高风险真实订单动作 → #37、#38 物流闭环 → #39 真机总验收。 diff --git a/Project-Profile.-.md b/Project-Profile.-.md index fae569c..b5e4774 100644 --- a/Project-Profile.-.md +++ b/Project-Profile.-.md @@ -58,4 +58,4 @@ 当前采集 MVP 的 T01~T22 和 T24 已完成实现并由用户验收;T08 只读实时屏幕已延期。T23、T25~T28 的一加真机增强、假售罄恢复、浏览器重开恢复和端口配置已经实现,其中部分工单仍等待用户验收。T24 的规格遍历已在一加和三星真机复核;三星未识别评价数量的问题由用户确认暂不处理。 -#31 PDD 商品档案原型已由用户确认,数据库、API 和 Admin 商品档案页面已进入待验收;#45 继续独立承担 PDD 商品列表批量创建采集任务,未混入商品档案实现。#32 采购闭环原型及后续采购工单仍按各自门禁推进。采购永不支付,真实地址修改和创建订单属于必须再次人工确认的高风险范围。 +#31 PDD 商品档案原型、数据库、API、Admin 页面和采集结果写回已于 2026-08-17 通过用户验收;#45 是下一张采集域工单,独立实现 PDD 商品列表多选和批量创建采集任务。#32 采购闭环原型及后续采购工单仍按各自门禁推进。采购永不支付,真实地址修改和创建订单属于必须再次人工确认的高风险范围。 diff --git a/Task-31-PDD-product-archive.md b/Task-31-PDD-product-archive.md new file mode 100644 index 0000000..7f1ef80 --- /dev/null +++ b/Task-31-PDD-product-archive.md @@ -0,0 +1,65 @@ +# 31 PDD 商品档案与规格 JSON 管理 + +- 类型:需求 +- 所属 Epic:#1 +- 所属 MVP / 版本:采集闭环后的商品档案阶段 +- 状态:已完成 +- 日期:2026-08-17 +- Gitea 工单:https://git.ilapage.cn/OPC/goauto/issues/31 +- Wiki 页面:Task-31-PDD-product-archive +- Wiki revision:以页面当前 revision 为准 + +## 背景与目标 + +PDD 商品需要作为采购人员长期复用的独立档案,采集只是维护最新资料的一种方式。商品最简创建只输入包含 `goods_id` 的 PDD URL,并允许人工完整维护或由采集结果自动更新标题、店铺、销量、评价和规格。 + +## 最终方案 + +- 先完成并由用户确认 QuantUX 原型,再实施数据库、API 和 Admin 页面。 +- `pdd_product` 保存标题、店铺、数字销量/评价、`pending/active/disabled` 状态及最新 `specs_json`,不建立规格、SKU 或历史子表。 +- 规格使用 `color/size/other` 通用多维结构;只有颜色值保存整数分价格,规格值保存是否可选择。 +- 人工编辑全量覆盖;`completed` 采集全量覆盖;`completed_partial` 只合并明确采集到的数据;`failed` 不修改商品。 +- URL 创建继续按 `goods_id` 唯一,采集任务保存自己的 URL、goods_id 和规则快照。 +- PDD 商品列表多选和批量创建采集任务从本工单拆到独立 #45,避免商品档案与批量任务耦合。 + +## 修改文件 + +- `server/app/goauto/models/schema.go`、`server/app/goauto/migrations/`:商品档案字段与 MySQL 8.4 增量迁移。 +- `server/app/goauto/product/`:商品创建、查询、完整覆盖编辑和规格 JSON 校验。 +- `server/app/goauto/task/result_service.go`:任务完成事务内更新商品最新档案。 +- `web/src/views/goauto/pdd-products/`、`web/src/api/goauto/pdd-products.js`:列表、添加、详情和编辑页面。 +- `web/tests/e2e/pdd-product-module.spec.ts`:页面和请求回归测试。 +- `prototypes/quantux-pdd-product-6a81db5d191a826306a7edd6.html`:已确认 QuantUX 离线原型。 + +## 验收结果 + +| 验收标准 | 结果 | +|---|---| +| URL 最简创建并唯一校验 goods_id | 通过 | +| 人工完整维护基础资料与通用规格 JSON | 通过 | +| 完整、部分和失败采集按规则更新商品 | 通过 | +| 颜色价格使用整数分,尺码不单独定价 | 通过 | +| 不引入规格、SKU 或历史子表 | 通过 | +| Admin 列表、添加、详情、编辑符合确认原型 | 通过 | +| 三星任务 35 部分结果写回商品档案 | 通过:3 个颜色价格和 1 个尺码已写入 | +| 用户验收 | 2026-08-17 明确通过 | + +## 测试 + +- `scripts/verify.ps1 -Component server`:通过。 +- `scripts/verify.ps1 -Component web`:通过,0 lint error;上游既有 warnings 不属于本工单。 +- `pnpm exec playwright test tests/e2e/pdd-product-module.spec.ts`:1 passed。 +- MySQL 8.4 增量迁移 `1786700500000`:通过。 +- 三星任务 35:`completed_partial`;标题、店铺、销量、3 个颜色价格和 1 个尺码自动更新到 PDD 商品。评价数量未识别,用户决定暂不处理。 +- **未验证部分**:#45 的列表多选和批量采集任务尚未实施,不属于本工单代码范围。 + +## 遗留问题 + +- PDD 商品列表多选和批量创建采集任务由 #45 实施。 +- 三星评价数量兼容暂不处理,部分结果不会猜测或填写为 0。 + +## 相关提交 + +- `a7a4536` feat(#31): implement PDD product archive module +- `34b5e0c` QuantUX PDD 商品档案离线原型 +- `7df4546` 批量采集入口原型快照