feat: 重构顺运宝规格主链路 (#88)

This commit is contained in:
chengma
2026-08-10 12:24:23 +08:00
parent 5bb1258462
commit d1165b9e17
28 changed files with 985 additions and 531 deletions
+14 -12
View File
@@ -153,6 +153,7 @@
| ☐ | 勾选 |
| 商品 ID | |
| 商品名称 | 截断 + 悬停完整 |
| 数据来源 | 蝦皮报表 / 顺运宝补建;不只靠颜色区分 |
| 颜色 / 尺码 / 建议 | 解析失败的显示为 `—` 并**整行标黄**,提示需人工补 |
| PDD 链接 | 空的显示"**未填写**"并标红,这是最需要操作员注意的状态 |
| 采集状态 | 未填链接 / 未采集 / 采集中 / 已采集 / 采集失败。**数据来自两张表**,判断方式见 [01 需求](01-requirements.md) §6.1 |
@@ -197,6 +198,9 @@
### 4.4 手动新增
> 本节是旧 SKU 确认流程的历史要求,已被工单 #88 的顺运宝 `spec_key`
> 主链路取代;保留仅为说明蝦皮报表数据可继续独立维护,顺运宝处理不再以此为前置条件。
`[必须]` 必须提供"新增 SKU"入口。
原因:蝦皮报表只包含**有销售成绩的** SKU(样本里平均每个商品仅 1.17 个),
@@ -468,27 +472,25 @@ HTML 片段,只替换弹窗内部的表格、总数和分页。主货运单表
### 6.2 表格列
☐ / 货运单明细ID / 订单号 / 商品标题 / 规格 / 蝦皮商品ID / 规格SKU / 数量 /
☐ / 货运单明细ID / 订单号 / 商品标题 / 规格 / 蝦皮商品ID / 数量 /
价格(台币)/ 图片 / **处理阶段** / **下一步** / 更新时间
- 一行对应顺运宝一张货运单的**一个商品明细**,不是一张货运单——一张货运单
可以有多个商品,各占一行。
- 图片显示小缩略图。`[必须]` 存 URL,不要把图片塞进数据库。
- 处理阶段是按当前关联事实**算出来的**,不是存一份容易过期的状态字段。阶段至少区分:
未找到蝦皮商品、待确认蝦皮规格、未关联 PDD、PDD 待采集、采集中、采集失败、
规格待匹配、可采购、采购数据异常和已创建任务。`shopee_sku_id` 非空只说明蝦皮规格已确认。
采购数据异常(顺运宝未提供规格)、未关联 PDD、PDD 待采集、采集中、
采集失败、规格待匹配、可采购和已创建任务。
- 每行显示一个有文字的“下一步”按钮;双击行和按钮打开同一个服务端渲染处理弹窗。
- 规格原文完全一致,或解析后的颜色尺码只有一个唯一候选时,系统可以自动确认
蝦皮 SKU;零候选或多候选必须由采购员选择,不能模糊猜测。
- 规格原文为空时不显示匹配表单,明确提示“顺运宝未提供规格”,并禁止建立映射或创建采购任务。
- 完整货运单 JSON 不作为列显示,落在 `syb_data` 里,供后续排查用。
### 6.3 采购处理与规格匹配弹窗(双击行或点击下一步打开)
弹窗按当前处理阶段渐进展示。第一步先确认蝦皮 SKU;顺运宝同步本身仍不提供
`shopee_sku_id`,但同步写入明细后可以根据本地蝦皮数据做确定性唯一匹配。
后续 PDD 关联、采集和规格映射使用同一个弹窗继续完成。
弹窗按当前处理阶段渐进展示。它直接以顺运宝规格原文及其 `spec_key`
连接当前 PDD 商品选项,不再经过蝦皮 SKU 确认步骤。PDD 关联、采集和规格映射使用同一个弹窗完成。
确认蝦皮 SKU 后,弹窗先展示当前 PDD 商品 ID、完整链接和采集状态。未关联时
弹窗先展示当前 PDD 商品 ID、完整链接和采集状态。未关联时
可直接填写完整链接;换成其他商品需要明确确认。待采集或采集失败时显示
“创建采集任务”或“重新创建采集任务”,采集中和已采集状态只显示说明。
@@ -512,11 +514,11 @@ HTML 片段,只替换弹窗内部的表格、总数和分页。主货运单表
- 右侧下拉的选项来自该商品 `skus_json` 里的 `dimensions`,
**不要写死"颜色/尺码"两个维度**——PDD 商品可能有第三个维度。
- **打开时先查 `sku_mappings`**,有记录就自动带出并提示"已自动带出"。
这是省人工的关键:同一个蝦皮 SKU 只需人工匹配一次。
- **打开时先按 `(蝦皮商品 ID, spec_key, 当前 PDD 商品 ID)` 查 `spec_mappings`**,
有记录就自动带出并提示"已自动带出"。
- 查询必须同时带当前 `pdd_goods_id`,并核对选项仍存在且可购买;换品或选项消失时回到待匹配。
- 该商品**还没采集**(`skus_json` 为空)时,不要显示空下拉,直接展示关联和创建采集任务入口。
- 保存写的是 `sku_mappings`(可复用),**不是这一张订单的临时数据**。
- 保存写的是 `spec_mappings`(可复用),**不是这一张订单的临时数据**。
### 6.4 创建采购任务