T56 蝦皮与 PDD 颜色人工映射及尺码批量匹配(先行原型) #69

Closed
opened 2026-08-23 22:13:50 +08:00 by ila · 6 comments
Owner

原始需求摘要

用户于 2026-08-23 确认:蝦皮与 PDD 的颜色名称不同,需要可视化人工匹配;尺码希望支持一键处理。经讨论确认不应把任一平台的原始尺码覆盖到另一平台,而应保存“蝦皮规格值 → PDD 实际规格值”的明确映射。先出原型,用户审核通过后才能编写生产代码。

目标

在既有蝦皮商品档案与 PDD 关联基础上,提供采购人员易用的规格映射页面:

  1. 颜色由采购人员通过 PDD 当前颜色下拉选择器明确匹配。
  2. 尺码支持一键确定性自动匹配;匹配不了的少数项目再人工确认。
  3. 两端原始规格值始终保留,不做双向覆盖或改名。
  4. 创建采购任务时优先使用已确认映射,Android Agent 只接收需要点击的精确 PDD 颜色和尺码。

非目标

  • 不增加“蝦皮尺码覆盖 PDD”或“PDD 尺码覆盖蝦皮”的同步按钮。
  • 不修改 PDD 采集结果、SYB 原始订单规格或两端商品原始规格。
  • 不在 Android Agent 本地做相近值猜测。
  • 不在本工单实现采购任务、创建订单、支付或物流。
  • 原型审核前不修改数据库迁移、服务端接口、Web 生产页面或 Android Agent。

依赖与关联

  • 依赖:#31 PDD 商品采购档案、#40 蝦皮商品档案和既有规格映射。
  • 关联:#44 SYB 列表“去匹配”快捷入口;#46 / #62 服务端规格标准化与 AI 兜底。
  • 决策关系:本工单是对 #40 既有“颜色和尺码均逐项人工确认”交互的决策变更;不回写或篡改已关闭工单的验收记录。
  • 是否可并行:否。原型确认、数据/API 设计、Admin 实现必须依次完成。

子项目影响(原型通过后的预计范围)

  • server/:映射保存、批量确定性尺码匹配、失效校验和采购读取优先级。
  • web/:蝦皮商品规格映射页、SYB 快捷入口返回与状态刷新。
  • android/:原则上不改能力,只继续执行服务端下发的精确规格;若共享契约变化再在实施前明确。
  • docs/:架构、业务规则、商品域接口和采购规格决策。

已确认业务规则

数据语义

  • 蝦皮原始颜色/尺码和 PDD 实际颜色/尺码分别属于各自商品档案,均不得被映射操作覆盖。
  • 映射按蝦皮商品独立保存;多个蝦皮商品即使关联同一个 PDD 商品,也不能互相覆盖映射。
  • 允许多个蝦皮颜色映射到同一个 PDD 颜色。
  • 更换关联 PDD 商品后,旧映射不得继续使用。
  • PDD 重新采集后,目标规格仍存在则映射保持有效;目标消失则标记“已失效”。

颜色

  • 使用可搜索的 PDD 当前颜色下拉框,不允许自由输入不存在的 PDD 颜色。
  • 允许部分保存;未匹配或失效颜色不能用于创建对应采购任务,不影响已经确认的其他颜色。

尺码

  • “一键自动匹配”只建立映射,不修改两端原始值。
  • 第一阶段只执行确定性标准化:繁简体、首尾/重复空格、大小写、全半角等统一后精确匹配。
  • 自动匹配结果在页面可见;没有唯一结果的项目保持“待确认”,由采购人员从 PDD 当前尺码中选择。
  • 不允许系统或 Agent 点击相近候选。
  • 创建采购任务时仍遵守 #46 / #62:优先读取已确认映射;缺失时按已确认服务端匹配流程处理,AI 无结果则明确失败。

Stage A:原型(当前唯一实施范围)

页面与入口

  • 主要入口:蝦皮商品列表/详情 → “规格匹配”。
  • 快捷入口:SYB 商品列表未匹配行 → “去匹配”,打开同一个页面并突出当前待采购颜色,保存后返回并刷新该行。
  • 不在 PDD 商品页维护跨平台映射。

原型必须覆盖

  1. 蝦皮商品与关联 PDD 商品摘要、匹配进度。
  2. “颜色匹配”区域:已匹配、待匹配、已失效、部分保存、可搜索选择器。
  3. “尺码匹配”区域:一键自动匹配、匹配中、自动匹配结果、待人工确认、失效和保存。
  4. 明确说明“只建立对应关系,不修改两端原始规格”。
  5. 未关联 PDD、PDD 无规格、加载、空数据、保存失败、无修改禁用和只读权限状态。
  6. 单一主操作“保存修改”;离开有未保存修改时给予提示。
  7. 使用普通采购人员能理解的文案,不暴露数据库字段或算法实现细节。

设计证据与门禁

  • 当前会话没有可用 QuantUX MCP,且浏览器运行时没有可连接的浏览器会话,无法更新线上 QuantUX 可编辑源。
  • 按项目规则先制作等效本地可浏览 HTML 草稿:prototypes/69/v1/index.html;该限制和审核结果必须写回工单。
  • 本地原型必须可点击、资源使用相对路径、不得包含账号、凭据、个人信息或生产数据。
  • 用户必须先确认“接受本地 HTML 作为本次等效设计证据”,并明确回复原型通过;否则不得进入 Stage B。
  • 若后续 QuantUX MCP 恢复,在实施前补建/同步线上可编辑源及 App ID。

Stage B:预计实现范围

仅在 Stage A 明确通过后,另按本工单确认方案实施:

  1. 明确映射数据契约和映射来源/状态。
  2. 服务端实现确定性批量尺码匹配和失效校验。
  3. Web 实现经确认页面及入口。
  4. 更新共享 API 与 Wiki-first 长期文档。
  5. 执行 MySQL、Go、Web 构建与浏览器关键流程验证。

任何数据库迁移都属于高风险,实施时必须再次获得用户明确确认。

验收标准

Stage A

  • 本地 HTML 可直接打开,主要入口和关键状态可点击查看。
  • 颜色人工匹配和尺码一键匹配的职责清晰。
  • 页面不出现双向覆盖同步,不修改两端原始规格。
  • 正常、待确认、失效、空、加载、失败、禁用和只读状态均有设计证据。
  • 用户明确接受等效本地 HTML 并确认原型通过。

Stage B(原型通过后)

  • 两端原始规格保持不变,映射可独立保存与覆盖。
  • 尺码批量匹配只接受唯一确定结果,无法唯一匹配时保持待确认。
  • PDD 规格变化能识别失效项。
  • 采购创建优先使用已确认映射,Agent 不猜测规格。
  • Go、MySQL、Web lint/build 和浏览器关键流程验证通过。
  • 实现、验证、未验证项、提交哈希和文档 revision 回写工单。

风险

  • 台湾尺码与大陆尺码即使文字相同也可能代表不同实物尺寸,因此自动结果必须可见、可人工修正。
  • PDD 规格重新采集会让部分映射失效,不能静默替换。
  • 本地 HTML 不是 QuantUX 可编辑源;未获用户接受前只能作为草稿,不能授权生产实现。

文档影响

原型阶段仅新增版本化审核证据和原型索引;Stage B 预计更新 Wiki 的 Architecture、Business-Rules-and-Glossary、API 契约和 Delivery-Issues,再由 harness 导出核心镜像。

## 原始需求摘要 用户于 2026-08-23 确认:蝦皮与 PDD 的颜色名称不同,需要可视化人工匹配;尺码希望支持一键处理。经讨论确认不应把任一平台的原始尺码覆盖到另一平台,而应保存“蝦皮规格值 → PDD 实际规格值”的明确映射。先出原型,用户审核通过后才能编写生产代码。 ## 目标 在既有蝦皮商品档案与 PDD 关联基础上,提供采购人员易用的规格映射页面: 1. 颜色由采购人员通过 PDD 当前颜色下拉选择器明确匹配。 2. 尺码支持一键确定性自动匹配;匹配不了的少数项目再人工确认。 3. 两端原始规格值始终保留,不做双向覆盖或改名。 4. 创建采购任务时优先使用已确认映射,Android Agent 只接收需要点击的精确 PDD 颜色和尺码。 ## 非目标 - 不增加“蝦皮尺码覆盖 PDD”或“PDD 尺码覆盖蝦皮”的同步按钮。 - 不修改 PDD 采集结果、SYB 原始订单规格或两端商品原始规格。 - 不在 Android Agent 本地做相近值猜测。 - 不在本工单实现采购任务、创建订单、支付或物流。 - 原型审核前不修改数据库迁移、服务端接口、Web 生产页面或 Android Agent。 ## 依赖与关联 - 依赖:#31 PDD 商品采购档案、#40 蝦皮商品档案和既有规格映射。 - 关联:#44 SYB 列表“去匹配”快捷入口;#46 / #62 服务端规格标准化与 AI 兜底。 - 决策关系:本工单是对 #40 既有“颜色和尺码均逐项人工确认”交互的决策变更;不回写或篡改已关闭工单的验收记录。 - 是否可并行:否。原型确认、数据/API 设计、Admin 实现必须依次完成。 ## 子项目影响(原型通过后的预计范围) - `server/`:映射保存、批量确定性尺码匹配、失效校验和采购读取优先级。 - `web/`:蝦皮商品规格映射页、SYB 快捷入口返回与状态刷新。 - `android/`:原则上不改能力,只继续执行服务端下发的精确规格;若共享契约变化再在实施前明确。 - `docs/`:架构、业务规则、商品域接口和采购规格决策。 ## 已确认业务规则 ### 数据语义 - 蝦皮原始颜色/尺码和 PDD 实际颜色/尺码分别属于各自商品档案,均不得被映射操作覆盖。 - 映射按蝦皮商品独立保存;多个蝦皮商品即使关联同一个 PDD 商品,也不能互相覆盖映射。 - 允许多个蝦皮颜色映射到同一个 PDD 颜色。 - 更换关联 PDD 商品后,旧映射不得继续使用。 - PDD 重新采集后,目标规格仍存在则映射保持有效;目标消失则标记“已失效”。 ### 颜色 - 使用可搜索的 PDD 当前颜色下拉框,不允许自由输入不存在的 PDD 颜色。 - 允许部分保存;未匹配或失效颜色不能用于创建对应采购任务,不影响已经确认的其他颜色。 ### 尺码 - “一键自动匹配”只建立映射,不修改两端原始值。 - 第一阶段只执行确定性标准化:繁简体、首尾/重复空格、大小写、全半角等统一后精确匹配。 - 自动匹配结果在页面可见;没有唯一结果的项目保持“待确认”,由采购人员从 PDD 当前尺码中选择。 - 不允许系统或 Agent 点击相近候选。 - 创建采购任务时仍遵守 #46 / #62:优先读取已确认映射;缺失时按已确认服务端匹配流程处理,AI 无结果则明确失败。 ## Stage A:原型(当前唯一实施范围) ### 页面与入口 - 主要入口:蝦皮商品列表/详情 → “规格匹配”。 - 快捷入口:SYB 商品列表未匹配行 → “去匹配”,打开同一个页面并突出当前待采购颜色,保存后返回并刷新该行。 - 不在 PDD 商品页维护跨平台映射。 ### 原型必须覆盖 1. 蝦皮商品与关联 PDD 商品摘要、匹配进度。 2. “颜色匹配”区域:已匹配、待匹配、已失效、部分保存、可搜索选择器。 3. “尺码匹配”区域:一键自动匹配、匹配中、自动匹配结果、待人工确认、失效和保存。 4. 明确说明“只建立对应关系,不修改两端原始规格”。 5. 未关联 PDD、PDD 无规格、加载、空数据、保存失败、无修改禁用和只读权限状态。 6. 单一主操作“保存修改”;离开有未保存修改时给予提示。 7. 使用普通采购人员能理解的文案,不暴露数据库字段或算法实现细节。 ### 设计证据与门禁 - 当前会话没有可用 QuantUX MCP,且浏览器运行时没有可连接的浏览器会话,无法更新线上 QuantUX 可编辑源。 - 按项目规则先制作等效本地可浏览 HTML 草稿:`prototypes/69/v1/index.html`;该限制和审核结果必须写回工单。 - 本地原型必须可点击、资源使用相对路径、不得包含账号、凭据、个人信息或生产数据。 - 用户必须先确认“接受本地 HTML 作为本次等效设计证据”,并明确回复原型通过;否则不得进入 Stage B。 - 若后续 QuantUX MCP 恢复,在实施前补建/同步线上可编辑源及 App ID。 ## Stage B:预计实现范围 仅在 Stage A 明确通过后,另按本工单确认方案实施: 1. 明确映射数据契约和映射来源/状态。 2. 服务端实现确定性批量尺码匹配和失效校验。 3. Web 实现经确认页面及入口。 4. 更新共享 API 与 Wiki-first 长期文档。 5. 执行 MySQL、Go、Web 构建与浏览器关键流程验证。 任何数据库迁移都属于高风险,实施时必须再次获得用户明确确认。 ## 验收标准 ### Stage A - [ ] 本地 HTML 可直接打开,主要入口和关键状态可点击查看。 - [ ] 颜色人工匹配和尺码一键匹配的职责清晰。 - [ ] 页面不出现双向覆盖同步,不修改两端原始规格。 - [ ] 正常、待确认、失效、空、加载、失败、禁用和只读状态均有设计证据。 - [ ] 用户明确接受等效本地 HTML 并确认原型通过。 ### Stage B(原型通过后) - [ ] 两端原始规格保持不变,映射可独立保存与覆盖。 - [ ] 尺码批量匹配只接受唯一确定结果,无法唯一匹配时保持待确认。 - [ ] PDD 规格变化能识别失效项。 - [ ] 采购创建优先使用已确认映射,Agent 不猜测规格。 - [ ] Go、MySQL、Web lint/build 和浏览器关键流程验证通过。 - [ ] 实现、验证、未验证项、提交哈希和文档 revision 回写工单。 ## 风险 - 台湾尺码与大陆尺码即使文字相同也可能代表不同实物尺寸,因此自动结果必须可见、可人工修正。 - PDD 规格重新采集会让部分映射失效,不能静默替换。 - 本地 HTML 不是 QuantUX 可编辑源;未获用户接受前只能作为草稿,不能授权生产实现。 ## 文档影响 原型阶段仅新增版本化审核证据和原型索引;Stage B 预计更新 Wiki 的 Architecture、Business-Rules-and-Glossary、API 契约和 Delivery-Issues,再由 harness 导出核心镜像。
Author
Owner

Stage A v1 本地交互原型已完成,等待用户审核

设计证据

  • 本地审核入口:prototypes/69/v1/index.html
  • 版本:v1(未获确认前为草稿;确认后不得原位覆盖)
  • 提交:52b63a4
  • 已推送:main

覆盖范围

  • 颜色:PDD 当前颜色下拉人工匹配、待匹配、已失效、部分保存、当前 SYB 目标颜色突出显示。
  • 尺码:一键确定性自动匹配、匹配中反馈、唯一匹配结果、待人工确认、失效与重新选择。
  • 数据边界:页面反复说明只保存对应关系,不覆盖蝦皮/PDD 原始颜色或尺码。
  • 入口:表达从 SYB 商品“去匹配”进入并突出目标颜色;主页面归属蝦皮商品。
  • 审核场景:正常、未关联 PDD、PDD 无规格、加载、加载失败、保存失败、只读权限。
  • 交互:颜色/尺码标签切换、待处理筛选、下拉修改、清除、一键匹配、保存中/成功/失败、未保存返回确认。

验证结果

  • 内嵌 JavaScript 语法:PASS。
  • 单文件大小:19,288 bytes。
  • 外部 HTTP(S) 资源:0。
  • 凭据/账号/内网地址敏感字样扫描:0 命中。
  • python dev_scripts/harness.py check --strict:PASS。
  • git diff --check:PASS。
  • 浏览器视觉与真实点击走查:未执行;当前会话 Browser runtime 没有可连接浏览器,不能伪造结果,等待用户本地审核。
  • python dev_scripts/harness.py sync --check:未完成;本地 harness 仍请求旧 Wiki 地址 192.168.3.148:8418 并返回 404。本工单没有修改核心 Wiki 镜像,未顺手改连接配置。

QuantUX 限制

当前会话没有 QuantUX MCP,且没有可连接的浏览器会话,无法更新线上 QuantUX 可编辑源。v1 因此是项目规则允许的等效本地可浏览草稿,但仍需用户明确确认:

  1. 接受本地 HTML 作为本次等效设计证据;
  2. 原型页面、流程和状态通过审核。

两项确认前,禁止修改数据库、服务端、Web 生产页面或 Android Agent。

## Stage A v1 本地交互原型已完成,等待用户审核 ### 设计证据 - 本地审核入口:`prototypes/69/v1/index.html` - 版本:v1(未获确认前为草稿;确认后不得原位覆盖) - 提交:`52b63a4` - 已推送:`main` ### 覆盖范围 - 颜色:PDD 当前颜色下拉人工匹配、待匹配、已失效、部分保存、当前 SYB 目标颜色突出显示。 - 尺码:一键确定性自动匹配、匹配中反馈、唯一匹配结果、待人工确认、失效与重新选择。 - 数据边界:页面反复说明只保存对应关系,不覆盖蝦皮/PDD 原始颜色或尺码。 - 入口:表达从 SYB 商品“去匹配”进入并突出目标颜色;主页面归属蝦皮商品。 - 审核场景:正常、未关联 PDD、PDD 无规格、加载、加载失败、保存失败、只读权限。 - 交互:颜色/尺码标签切换、待处理筛选、下拉修改、清除、一键匹配、保存中/成功/失败、未保存返回确认。 ### 验证结果 - 内嵌 JavaScript 语法:PASS。 - 单文件大小:19,288 bytes。 - 外部 HTTP(S) 资源:0。 - 凭据/账号/内网地址敏感字样扫描:0 命中。 - `python dev_scripts/harness.py check --strict`:PASS。 - `git diff --check`:PASS。 - 浏览器视觉与真实点击走查:未执行;当前会话 Browser runtime 没有可连接浏览器,不能伪造结果,等待用户本地审核。 - `python dev_scripts/harness.py sync --check`:未完成;本地 harness 仍请求旧 Wiki 地址 `192.168.3.148:8418` 并返回 404。本工单没有修改核心 Wiki 镜像,未顺手改连接配置。 ### QuantUX 限制 当前会话没有 QuantUX MCP,且没有可连接的浏览器会话,无法更新线上 QuantUX 可编辑源。v1 因此是项目规则允许的等效本地可浏览草稿,但仍需用户明确确认: 1. 接受本地 HTML 作为本次等效设计证据; 2. 原型页面、流程和状态通过审核。 两项确认前,禁止修改数据库、服务端、Web 生产页面或 Android Agent。
Author
Owner

v2 需求补充:颜色下拉按使用状态分组

用户于 2026-08-23 确认按以下建议更新工单和原型:

  • 假设 PDD 商品有 5 个颜色,第一行已经选择“黑色”;第二行打开颜色下拉时,优先显示剩余 4 个未使用颜色。
  • 已被其他蝦皮颜色使用的 PDD 颜色不能完全隐藏,也不能禁止选择。
  • 下拉分为两组:
    1. “未使用的颜色”:排在上方;
    2. “已经匹配(仍可选择)”:排在下方,并显示已被哪个蝦皮颜色使用。
  • 当前行已经保存/正在选择的颜色始终保留可见。
  • 继续允许多个蝦皮颜色映射到同一个 PDD 颜色,避免“黑色”和“纯黑色”都应对应 PDD“黑色”时被错误阻断。
  • 本轮不增加一对一硬限制;不因颜色已被使用而弹出阻断确认。
  • 规格选择变化后,页面应刷新其他行下拉中的“未使用/已经匹配”分组与占用提示。
  • v1 保留不覆盖;更新后的审核证据保存为 prototypes/69/v2/index.html。
  • v2 仍属于 Stage A 原型,用户明确审核通过前不得实施生产代码。
## v2 需求补充:颜色下拉按使用状态分组 用户于 2026-08-23 确认按以下建议更新工单和原型: - 假设 PDD 商品有 5 个颜色,第一行已经选择“黑色”;第二行打开颜色下拉时,优先显示剩余 4 个未使用颜色。 - 已被其他蝦皮颜色使用的 PDD 颜色不能完全隐藏,也不能禁止选择。 - 下拉分为两组: 1. “未使用的颜色”:排在上方; 2. “已经匹配(仍可选择)”:排在下方,并显示已被哪个蝦皮颜色使用。 - 当前行已经保存/正在选择的颜色始终保留可见。 - 继续允许多个蝦皮颜色映射到同一个 PDD 颜色,避免“黑色”和“纯黑色”都应对应 PDD“黑色”时被错误阻断。 - 本轮不增加一对一硬限制;不因颜色已被使用而弹出阻断确认。 - 规格选择变化后,页面应刷新其他行下拉中的“未使用/已经匹配”分组与占用提示。 - v1 保留不覆盖;更新后的审核证据保存为 `prototypes/69/v2/index.html`。 - v2 仍属于 Stage A 原型,用户明确审核通过前不得实施生产代码。
Author
Owner

Stage A v2 原型已更新,等待用户审核

设计证据

  • v2:prototypes/69/v2/index.html
  • v1:prototypes/69/v1/index.html(保留未覆盖)
  • 提交:566cb86
  • 已推送:main

本轮交互变化

  • 演示数据调整为 PDD 有 5 个颜色,第一行“蝦皮黑色 → PDD 黑色”已经完成。
  • 第二行“卡其色”打开下拉时:
    • “未使用的颜色(4)”排在前面;
    • “黑色”进入“已经匹配(仍可选择)”分组;
    • 黑色选项显示“已被‘黑色’使用”。
  • 已使用颜色仍可选择,支持“黑色 / 纯黑色 → PDD 黑色”等多对一映射。
  • 任一颜色选择或清除后,所有颜色下拉实时重新计算分组、剩余数量和占用者。
  • 当前行已有选择放入“当前选择”分组,始终保留可见。
  • 待处理数量和行筛选状态随选择结果更新。
  • 未增加一对一硬限制或阻断确认。

验证

  • 内嵌 JavaScript 语法:PASS。
  • v2 必需文案/状态检查:PASS。
  • 单文件:20,653 bytes,无外部 HTTP(S) 资源。
  • 敏感字样扫描:0 命中。
  • python dev_scripts/harness.py check --strict:PASS。
  • git diff --check:PASS。
  • v1 diff:0,确认未覆盖旧审核版本。
  • 浏览器视觉与点击走查:当前会话仍无可用浏览器,未执行;等待用户本地审核。

本轮只更新工单与原型证据,没有修改数据库、服务端、Web 生产页面或 Android Agent。

## Stage A v2 原型已更新,等待用户审核 ### 设计证据 - v2:`prototypes/69/v2/index.html` - v1:`prototypes/69/v1/index.html`(保留未覆盖) - 提交:`566cb86` - 已推送:`main` ### 本轮交互变化 - 演示数据调整为 PDD 有 5 个颜色,第一行“蝦皮黑色 → PDD 黑色”已经完成。 - 第二行“卡其色”打开下拉时: - “未使用的颜色(4)”排在前面; - “黑色”进入“已经匹配(仍可选择)”分组; - 黑色选项显示“已被‘黑色’使用”。 - 已使用颜色仍可选择,支持“黑色 / 纯黑色 → PDD 黑色”等多对一映射。 - 任一颜色选择或清除后,所有颜色下拉实时重新计算分组、剩余数量和占用者。 - 当前行已有选择放入“当前选择”分组,始终保留可见。 - 待处理数量和行筛选状态随选择结果更新。 - 未增加一对一硬限制或阻断确认。 ### 验证 - 内嵌 JavaScript 语法:PASS。 - v2 必需文案/状态检查:PASS。 - 单文件:20,653 bytes,无外部 HTTP(S) 资源。 - 敏感字样扫描:0 命中。 - `python dev_scripts/harness.py check --strict`:PASS。 - `git diff --check`:PASS。 - v1 diff:0,确认未覆盖旧审核版本。 - 浏览器视觉与点击走查:当前会话仍无可用浏览器,未执行;等待用户本地审核。 本轮只更新工单与原型证据,没有修改数据库、服务端、Web 生产页面或 Android Agent。
Author
Owner

Stage A 原型验收通过

用户于 2026-08-23 明确确认“原型通过审核,开始做 #69 工单”。

  • 确认版本:prototypes/69/v2/index.html
  • 设计提交:566cb86
  • 用户接受本地可交互 HTML 作为本次等效设计证据。
  • Stage B 现已授权开始;生产实现必须严格遵守 v2、工单范围和不覆盖两端原始规格的边界。
  • 若实施确认需要数据库迁移,仍须按项目高风险门禁再次等待用户明确授权。
## Stage A 原型验收通过 用户于 2026-08-23 明确确认“原型通过审核,开始做 #69 工单”。 - 确认版本:`prototypes/69/v2/index.html` - 设计提交:`566cb86` - 用户接受本地可交互 HTML 作为本次等效设计证据。 - Stage B 现已授权开始;生产实现必须严格遵守 v2、工单范围和不覆盖两端原始规格的边界。 - 若实施确认需要数据库迁移,仍须按项目高风险门禁再次等待用户明确授权。
Author
Owner

Stage B 已实施,等待用户验收

实现结果

  • 提交:67d8f32 feat(#69): add Shopee PDD specification mapping
  • 已推送:main
  • 数据库:继续复用 shopee_product.specs_json,无数据库迁移。
  • Android:无代码改动、无需重新安装 APK。

服务端

  • 新增 POST /api/admin/v1/shopee-products/{productId}/specs/mapping/preview-auto-size。
  • 尺码预览只接受繁简、空白、大小写、全半角等统一后的唯一确定结果;不写数据库,人工点击“保存修改”后才落库。
  • 设置映射时校验目标必须属于关联 PDD 商品同角色的当前可选规格。
  • PDD 目标消失后,采购批量预检与正式创建均返回 PURCHASE_SPEC_MAPPING_REQUIRED,提示“规格匹配已失效,请重新选择 PDD 规格”,不会把旧标签下发给 Agent。

Admin

  • 按已确认 prototypes/69/v2/index.html 实现颜色/尺码标签页和单一“保存修改”入口。
  • 颜色使用可搜索下拉;当前选择、未使用颜色、已经匹配但仍可选择分组展示,显示占用者并支持多对一。
  • 尺码支持一键确定性自动匹配;未唯一匹配的项目保持待人工选择。
  • 显示待匹配、待保存、已匹配、已失效;未保存关闭会提示。
  • SYB “去匹配”携带当前目标颜色并突出对应行。
  • 映射操作不修改蝦皮或 PDD 原始规格。

验证

  • .\scripts\verify.ps1 -Component all:PASS
    • Go 全量测试与构建:PASS
    • Web lint:PASS(仅仓库既有 warning)
    • Web 生产构建:PASS
    • Android 单元测试与 debug APK:PASS
  • python dev_scripts/harness.py check --strict:PASS
  • Wiki-first 在线更新并回读:
    • Architecture 5fc5fcee07160d6aecdba455c262016907848af7
    • Business Rules 632e0c2d197884971925fe275e7a7495ec2ba31f
    • API Contract e9da6212dd12bf200c9484cf1145bb17a3384b4e
    • Delivery Issues 1e4f063a6c557e11c81a37ea626d75020c23b3cc
  • 本地镜像:使用当前 Gitea 地址运行 harness.py sync --verify 后 PASS。
  • 任务归档:Task-69-蝦皮与-PDD-规格匹配,revision b6111d5e72f6e03e1c433d177199dd3881dcace9。

未验证与边界

  • 当前浏览器运行时没有可用浏览器会话,未执行登录态页面点击走查;请用户启动当前代码后进行页面验收。
  • 未执行真机采购、修改地址、创建订单或支付;本工单不包含这些高风险动作。
  • 工单保持打开、待用户验收。
## Stage B 已实施,等待用户验收 ### 实现结果 - 提交:`67d8f32 feat(#69): add Shopee PDD specification mapping` - 已推送:`main` - 数据库:继续复用 `shopee_product.specs_json`,**无数据库迁移**。 - Android:**无代码改动、无需重新安装 APK**。 ### 服务端 - 新增 `POST /api/admin/v1/shopee-products/{productId}/specs/mapping/preview-auto-size`。 - 尺码预览只接受繁简、空白、大小写、全半角等统一后的唯一确定结果;不写数据库,人工点击“保存修改”后才落库。 - 设置映射时校验目标必须属于关联 PDD 商品同角色的当前可选规格。 - PDD 目标消失后,采购批量预检与正式创建均返回 `PURCHASE_SPEC_MAPPING_REQUIRED`,提示“规格匹配已失效,请重新选择 PDD 规格”,不会把旧标签下发给 Agent。 ### Admin - 按已确认 `prototypes/69/v2/index.html` 实现颜色/尺码标签页和单一“保存修改”入口。 - 颜色使用可搜索下拉;当前选择、未使用颜色、已经匹配但仍可选择分组展示,显示占用者并支持多对一。 - 尺码支持一键确定性自动匹配;未唯一匹配的项目保持待人工选择。 - 显示待匹配、待保存、已匹配、已失效;未保存关闭会提示。 - SYB “去匹配”携带当前目标颜色并突出对应行。 - 映射操作不修改蝦皮或 PDD 原始规格。 ### 验证 - `.\scripts\verify.ps1 -Component all`:PASS - Go 全量测试与构建:PASS - Web lint:PASS(仅仓库既有 warning) - Web 生产构建:PASS - Android 单元测试与 debug APK:PASS - `python dev_scripts/harness.py check --strict`:PASS - Wiki-first 在线更新并回读: - Architecture `5fc5fcee07160d6aecdba455c262016907848af7` - Business Rules `632e0c2d197884971925fe275e7a7495ec2ba31f` - API Contract `e9da6212dd12bf200c9484cf1145bb17a3384b4e` - Delivery Issues `1e4f063a6c557e11c81a37ea626d75020c23b3cc` - 本地镜像:使用当前 Gitea 地址运行 `harness.py sync --verify` 后 PASS。 - 任务归档:[Task-69-蝦皮与-PDD-规格匹配](https://git.ilapage.cn/OPC/goauto/wiki/Task-69-%E8%9D%A6%E7%9A%AE%E4%B8%8E-PDD-%E8%A7%84%E6%A0%BC%E5%8C%B9%E9%85%8D.-),revision `b6111d5e72f6e03e1c433d177199dd3881dcace9`。 ### 未验证与边界 - 当前浏览器运行时没有可用浏览器会话,未执行登录态页面点击走查;请用户启动当前代码后进行页面验收。 - 未执行真机采购、修改地址、创建订单或支付;本工单不包含这些高风险动作。 - 工单保持打开、待用户验收。
Author
Owner

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。
ila closed this issue 2026-08-28 15:07:35 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#69