PDD 商品是供采购人员长期、重复采购使用的独立商品档案,采集只是维护商品数据的一种手段。商品可由 PDD App 自动采集、人工录入,未来也可从文件导入。创建商品的最简入口是输入包含 goods_id 的 PDD URL。
goods_id
本工单必须先使用 QuantUX MCP 创建管理端交互原型;原型未经用户明确审核通过,不得开始数据库、服务端或 Web 代码实现。
pdd_product
不可并行。原型、业务确认、数据库契约、服务端和 Web 依次推进;原型审核是强制门禁。
color
size
other
pdd_product.specs_json
priceCent
completed
completed_partial
failed
selectable=false
pending
active
disabled
pdd_product 增加:
title
shop_name
sales_count
review_count
status
specs_json
specs_json 结构:
[ { "name": "颜色分类", "role": "color", "values": [ {"name": "黑色", "selectable": true, "priceCent": 2590}, {"name": "白色", "selectable": false, "priceCent": 2690} ] }, { "name": "尺码", "role": "size", "values": [ {"name": "M", "selectable": true}, {"name": "L", "selectable": true} ] } ]
服务端必须校验 JSON:维度名和规格值非空、角色合法、同维度规格值不重复、价格为非负整数分、只有颜色值允许价格。
强制门禁:用户未明确回复原型通过验收前,工单保持原型待验收,不得修改迁移、Go 服务端、Vue 页面或共享 API。
仅在原型明确验收后开始:
原型通过并进入代码阶段后,更新:
docs/00-project-profile.md
docs/02-architecture-and-data-model.md
docs/03-business-rules-and-glossary.md
docs/08-agent-api-contract.md
docs/09-delivery-issues.md
GoAuto - PDD商品采购档案原型
6a81db5d191a826306a7edd6
本轮未修改数据库、服务端、Web 业务代码或共享 API。工单保持打开并等待用户审核;仅在用户明确回复“#31 原型通过”后进入 Stage B 实现。
根据用户复查反馈,已修正 App 6a81db5d191a826306a7edd6:
972800403573
719834019024
731370706977
结构复检:4页、208个控件、12条跳转;无缺失控件、孤立控件、越界或无效跳转。Playwright 已从列表点击第一行进入详情并核对同一 goods_id、URL、标题与规格。
原型链接:http://124.222.27.183:8082/#/apps/6a81db5d191a826306a7edd6.html
本轮未修改数据库、服务端或Web代码,工单继续等待用户审核。
已使用 QuantUX MCP 将线上 App 6a81db5d191a826306a7edd6 导出为本地单文件离线 HTML:
prototypes/quantux-pdd-product-6a81db5d191a826306a7edd6.html
34b5e0c7ccce2021ba92ee03ce252ff0bcc47fc4
本次只保存线上草稿的可追溯离线快照,不改变原型审核状态。
按用户确认更新 #31 QuantUX 原型:
pending/running
7df4546
覆盖 PDD 商品列表当前页多选、不可选状态说明、批量创建采集任务确认和逐条结果。每个商品创建独立采集任务,明确不会创建采购任务或订单。工单仍为原型待审核,不授权生产实现。
用户明确确认 PDD 商品原型没有问题,并要求按照已确认原型实施 PDD 商品模块页面。
验收范围:
QuantUX App:6a81db5d191a826306a7edd6;已确认版本为 6 页、328 控件、16 条流程线,本地快照提交 7df4546。
#31 原型门禁完成并关闭。生产实现必须使用新的单元工单,不能在本工单继续混入数据库、服务端或 Web 代码。
用户已于 2026-08-17 明确确认 #31 QuantUX 原型没有问题,原型门禁通过。纠正状态:本工单还包含阶段 B 数据、API 与 Admin 页面实现,因此重新打开并进入实施;批量创建采集任务继续由独立工单 #45 承担,不混入本提交。
原型门禁已通过后,已按确认原型完成 PDD 商品档案模块;批量创建采集任务仍保留在独立工单 #45,未混入本提交。
pending/active/disabled
color/size/other
1786700500000
scripts/verify.ps1 -Component server
scripts/verify.ps1 -Component web
pnpm exec playwright test tests/e2e/pdd-product-module.spec.ts
a5c60ff2d9d64c824be176bb1630d884379f6c7c
a7a4536
main
No dependencies set.
The note is not visible to the blocked user.
原始需求摘要
PDD 商品是供采购人员长期、重复采购使用的独立商品档案,采集只是维护商品数据的一种手段。商品可由 PDD App 自动采集、人工录入,未来也可从文件导入。创建商品的最简入口是输入包含
goods_id的 PDD URL。本工单必须先使用 QuantUX MCP 创建管理端交互原型;原型未经用户明确审核通过,不得开始数据库、服务端或 Web 代码实现。
目标
pdd_product从“URL 档案”扩展为采购人员可维护的正式 PDD 商品档案。非目标
前置依赖
是否可并行
不可并行。原型、业务确认、数据库契约、服务端和 Web 依次推进;原型审核是强制门禁。
子项目影响
pdd_product数据库迁移与模型。已确认业务规则
goods_id,相同goods_id继续保持唯一。color、size、other角色。pdd_product.specs_json。priceCent;不同颜色可以不同价格,不区分不同尺码的价格。completed采集结果自动全量覆盖商品基础资料和规格 JSON。completed_partial只合并明确采集到的数据,不删除原来存在但本次未采集到的数据。failed不修改 PDD 商品。selectable=false;以后采购时不能选择。pending、active、disabled。URL 最简创建为pending;首次成功人工维护或采集后转为active;disabled由人工设置。建议数据结构
pdd_product增加:titleshop_namesales_count(BIGINT,可空)review_count(BIGINT,可空)status(pending/active/disabled)specs_json(MySQL JSON)specs_json结构:服务端必须校验 JSON:维度名和规格值非空、角色合法、同维度规格值不重复、价格为非负整数分、只有颜色值允许价格。
分阶段方案与审核门禁
阶段 A:QuantUX 原型
pending、active、disabled状态及不完整采集的提示方式。强制门禁:用户未明确回复原型通过验收前,工单保持原型待验收,不得修改迁移、Go 服务端、Vue 页面或共享 API。
阶段 B:代码实现
仅在原型明确验收后开始:
原型验收标准
pending商品可以进入编辑页补充基础资料和完整规格。最终代码验收标准
goods_id。completed自动全量覆盖;completed_partial安全合并;failed不更新。验证
风险
completed_partial合并必须按维度角色/名称和规格值名称稳定匹配,不能把缺失数据当删除。文档影响
原型通过并进入代码阶段后,更新:
docs/00-project-profile.mddocs/02-architecture-and-data-model.mddocs/03-business-rules-and-glossary.mddocs/08-agent-api-contract.md(仅涉及采集结果应用契约时)docs/09-delivery-issues.mdStage A:QuantUX 原型已完成,等待人工审核
GoAuto - PDD商品采购档案原型6a81db5d191a826306a7edd6本轮覆盖
校验
门禁状态
本轮未修改数据库、服务端、Web 业务代码或共享 API。工单保持打开并等待用户审核;仅在用户明确回复“#31 原型通过”后进入 Stage B 实现。
QuantUX 原型修正:PDD 商品列表与采购选择器数据统一
根据用户复查反馈,已修正 App
6a81db5d191a826306a7edd6:972800403573:正常、资料和规格完整;719834019024:待完善;731370706977:已停用且数据不完整。972800403573,避免从列表进入后变成另一件商品。结构复检:4页、208个控件、12条跳转;无缺失控件、孤立控件、越界或无效跳转。Playwright 已从列表点击第一行进入详情并核对同一 goods_id、URL、标题与规格。
原型链接:http://124.222.27.183:8082/#/apps/6a81db5d191a826306a7edd6.html
本轮未修改数据库、服务端或Web代码,工单继续等待用户审核。
已使用 QuantUX MCP 将线上 App
6a81db5d191a826306a7edd6导出为本地单文件离线 HTML:prototypes/quantux-pdd-product-6a81db5d191a826306a7edd6.html34b5e0c7ccce2021ba92ee03ce252ff0bcc47fc4本次只保存线上草稿的可追溯离线快照,不改变原型审核状态。
PDD 商品列表多选与批量采集入口补充(2026-08-17)
按用户确认更新 #31 QuantUX 原型:
pending/running采集任务。多选与批量采集 QuantUX 原型已更新,等待审核
6a81db5d191a826306a7edd6prototypes/quantux-pdd-product-6a81db5d191a826306a7edd6.html7df4546覆盖 PDD 商品列表当前页多选、不可选状态说明、批量创建采集任务确认和逐条结果。每个商品创建独立采集任务,明确不会创建采购任务或订单。工单仍为原型待审核,不授权生产实现。
用户验收通过(2026-08-17)
用户明确确认 PDD 商品原型没有问题,并要求按照已确认原型实施 PDD 商品模块页面。
验收范围:
QuantUX App:
6a81db5d191a826306a7edd6;已确认版本为 6 页、328 控件、16 条流程线,本地快照提交7df4546。#31 原型门禁完成并关闭。生产实现必须使用新的单元工单,不能在本工单继续混入数据库、服务端或 Web 代码。
用户已于 2026-08-17 明确确认 #31 QuantUX 原型没有问题,原型门禁通过。纠正状态:本工单还包含阶段 B 数据、API 与 Admin 页面实现,因此重新打开并进入实施;批量创建采集任务继续由独立工单 #45 承担,不混入本提交。
阶段 B 实施完成,等待用户验收
原型门禁已通过后,已按确认原型完成 PDD 商品档案模块;批量创建采集任务仍保留在独立工单 #45,未混入本提交。
实现
pdd_product增加标题、店铺、数字销量/评价、pending/active/disabled状态和通用多维specs_json最新值。color/size/other;只有颜色保存非负整数分价格,规格值保存可选择状态。completed在任务结果事务内全量覆盖商品,completed_partial合并明确获得的数据,failed不更新;人工停用不会被采集自动启用。1786700500000已针对 MySQL 8.4 JSON 列采用“可空添加、回填空数组、改为非空”,本机真实库执行成功。验证
scripts/verify.ps1 -Component server:通过(全量 Go 测试和构建)。scripts/verify.ps1 -Component web:通过(0 lint error;上游既有 30 warnings;生产构建通过)。pnpm exec playwright test tests/e2e/pdd-product-module.spec.ts:1 passed,覆盖列表、详情、编辑和颜色价格请求;API 使用测试拦截,不改真实商品。1786700500000已登记。a5c60ff2d9d64c824be176bb1630d884379f6c7c已先更新并验证;核心 docs 镜像与该版本逐页一致。提交
a7a4536(已推送main)。未验证与边界
用户验收通过并归档