fix(fulfillment): 封堵重复载体并完善统一SKU映射

This commit is contained in:
yml2213
2026-11-03 12:28:05 +08:00
parent 3ba808b814
commit e6763882f5
27 changed files with 1506 additions and 45 deletions
@@ -155,6 +155,9 @@ internal_sku_channels (
下单入口、财务、成本中心都读这一份配置。
后台「履约渠道 → SKU 映射」维护平台字段到中文内部 SKU 的映射:
店铺级优先于平台级,平台级优先于全局;渠道规则仍只按中文内部 SKU 全局生效。
规范化规则固定为 NFKC → 去全部空白 → 小写。没有中文内部 SKU 的订单项保持 pending,
不再回退到平台 SKU 或英文码。
@@ -220,6 +223,7 @@ pending 只保留:
- 三平台订单:下单 → 内部 SKU → 渠道 → 载体 → 成本 → 销售事实全链路可追踪;
- 同名不同平台码不再拆 pending;
- 同一内部 SKU 跨平台/跨店铺只展示一条待分类、一条渠道配置和一个问题聚合;
- 已分配订单再次收到平台状态推送时冻结原渠道决策,只更新平台字段,不重复创建第二种载体;
- 财务渠道与真实载体一致;
- pending 仅三类语义;
- 审计脚本 0 空内部 SKU、0 纯数字(映射后)、0 载体/渠道矛盾;
+8 -3
View File
@@ -150,6 +150,8 @@ npx tsx scripts/preflight-fulfillment-routing.ts --strict --include-demo
- 规范化后重复的内部 SKU 渠道配置;
- `work_order` 缺 `workRuleKey` 或规则不存在;
- 人工渠道缺启用的人工履约配置;
- 同一中文内部 SKU 存在多个载体配置;
- 规范化后重复的人工履约配置或 SKU 映射;
- pending 订单项无法解析出中文内部 SKU;
- 仍启用的 `sku_code` 兼容规则。
@@ -160,20 +162,23 @@ npx tsx scripts/preflight-fulfillment-routing.ts --strict --include-demo
npx tsx scripts/merge-duplicate-products.ts
npx tsx scripts/cleanup-legacy-sku-code-rules.ts
npx tsx scripts/reclassify-post-cutover.ts
npx tsx scripts/normalize-internal-sku-configs.ts
# 确认后 apply
npx tsx scripts/merge-duplicate-products.ts --apply
npx tsx scripts/cleanup-legacy-sku-code-rules.ts --apply
npx tsx scripts/reclassify-post-cutover.ts --apply
npx tsx scripts/normalize-internal-sku-configs.ts --apply
```
顺序:
1. 合并重复商品;
2. 清理旧 sku_code 规则;
3. 重判断代后订单;
4. 跑一次完整管道;
5. 核对成本/销售事实。
3. 合并规范化重复的渠道配置与 SKU 映射;
4. 重判断代后订单;
5. 跑一次完整管道;
6. 核对成本/销售事实。
## 6. 回滚