feat: 完成规格映射与采购任务创建 (#69)

This commit is contained in:
chengma
2026-08-09 22:55:14 +08:00
parent 610e9e3749
commit 4433e3af37
18 changed files with 976 additions and 135 deletions
+11 -7
View File
@@ -476,7 +476,7 @@ HTML 片段,只替换弹窗内部的表格、总数和分页。主货运单表
- 图片显示小缩略图。`[必须]` 存 URL,不要把图片塞进数据库。
- 处理阶段是按当前关联事实**算出来的**,不是存一份容易过期的状态字段。阶段至少区分:
未找到蝦皮商品、待确认蝦皮规格、未关联 PDD、PDD 待采集、采集中、采集失败、
规格待匹配和可采购。`shopee_sku_id` 非空只说明蝦皮规格已确认。
规格待匹配、可采购、采购数据异常和已创建任务。`shopee_sku_id` 非空只说明蝦皮规格已确认。
- 每行显示一个有文字的“下一步”按钮;双击行和按钮打开同一个服务端渲染处理弹窗。
- 规格原文完全一致,或解析后的颜色尺码只有一个唯一候选时,系统可以自动确认
蝦皮 SKU;零候选或多候选必须由采购员选择,不能模糊猜测。
@@ -510,21 +510,25 @@ HTML 片段,只替换弹窗内部的表格、总数和分页。主货运单表
`[必须]` 几条硬规则:
- 右侧下拉的选项来自该商品 `pdd_data` 里的 `dimensions`,
- 右侧下拉的选项来自该商品 `skus_json` 里的 `dimensions`,
**不要写死"颜色/尺码"两个维度**——PDD 商品可能有第三个维度。
- **打开时先查 `sku_mappings`**,有记录就自动带出并提示"已自动带出"。
这是省人工的关键:同一个蝦皮 SKU 只需人工匹配一次。
- 该商品**还没采集**(`pdd_data` 为空)时,不要显示一个空下拉让人困惑,
直接提示:"该商品尚未采集 PDD 数据,请先到『蝦皮数据』填写链接并采集",
并给一个跳转链接。
- 查询必须同时带当前 `pdd_goods_id`,并核对选项仍存在且可购买;换品或选项消失时回到待匹配。
- 该商品**还没采集**(`skus_json` 为空)时,不要显示空下拉,直接展示关联和创建采集任务入口。
- 保存写的是 `sku_mappings`(可复用),**不是这一张订单的临时数据**。
### 6.4 创建采购任务
勾选若干行 → 点按钮 → 逐条校验(见 [01 需求](01-requirements.md) §5)。
只有“可创建采购任务”的行可勾选。勾选后打开服务端渲染的确认弹窗:选择当前账号
可见的客户端,并逐行确认人民币价格上限。默认值来自映射规格的 PDD 采集价;没有价格时留空强制填写。
`[必须]` 校验不过的**不要静默跳过**,要列出来告诉操作员缺什么:
- 同一批中合法行可以创建,失败行逐条显示明细 ID 和原因;数据库错误则整批回滚。
- 同一明细已有 `pending`、`assigned` 或 `claimed` 的采购任务时拒绝重复创建。
- 顺运宝列表继续显示台币售价,但绝不把它带入人民币价格上限。
```text
成功创建 3 个任务。以下 2 条未创建:
· SO-...-007 该商品未填写 PDD 链接
@@ -532,7 +536,7 @@ HTML 片段,只替换弹窗内部的表格、总数和分页。主货运单表
```
`[必须]` 创建前弹出确认框,让操作员选**分配给哪个客户端**,并确认价格上限。
价格上限默认从 `pdd_data` 带出,可改,**不允许为空**。
价格上限默认从当前映射的 PDD 规格采集价带出,可改,**不允许为空**。
## 7. 采集采购页