fix(finance): 收敛内部 SKU 履约路由与载体状态
统一内部 SKU 与渠道主/兜底解析,禁止并列主渠道。 运营指定渠道改为先创建真实载体,失败保持明确 pending。 历史缺载体、多载体冲突和自动发货兜底统一由管道修复。 迁移人工配置与旧 sku_code 规则,补充严格预检和集成测试。
This commit is contained in:
@@ -88,6 +88,17 @@ async function main() {
|
||||
`,
|
||||
[internalSku, rule.channel, rule.priority, rule.source || 'operator'],
|
||||
)
|
||||
await query(
|
||||
`UPDATE internal_sku_channels
|
||||
SET is_fallback = TRUE,
|
||||
priority = GREATEST(priority, 90),
|
||||
updated_at = NOW()
|
||||
WHERE btrim(internal_sku) = $1
|
||||
AND channel <> $2
|
||||
AND enabled = TRUE
|
||||
AND is_fallback = FALSE`,
|
||||
[internalSku, rule.channel],
|
||||
)
|
||||
await query(
|
||||
`
|
||||
INSERT INTO internal_sku_channels (
|
||||
@@ -95,6 +106,7 @@ async function main() {
|
||||
) VALUES ($1, $2, $3, FALSE, TRUE, 'legacy-rule')
|
||||
ON CONFLICT (internal_sku, channel) DO UPDATE SET
|
||||
priority = LEAST(internal_sku_channels.priority, EXCLUDED.priority),
|
||||
is_fallback = FALSE,
|
||||
enabled = TRUE,
|
||||
updated_at = NOW()
|
||||
`,
|
||||
|
||||
Reference in New Issue
Block a user