chore(deploy): 上线脚本与验收 SQL 适配渠道模型

- post-deploy 去掉已删除的履约回填与 finance:sync,改用 finance:rebuild-cutover
- 验收 SQL 的履约检查改读 fulfillment_channel/status
- 相关文档同步更新
This commit is contained in:
yml2213
2026-10-31 19:57:00 +08:00
parent 0a77524331
commit 2f11ed6bca
6 changed files with 55 additions and 50 deletions
+22 -18
View File
@@ -68,27 +68,29 @@ FROM (
SELECT count(*) AS v FROM order_items WHERE revenue_basis = 'unknown'
) s;
-- 03 履约方式回填 ----------------------------------------------------------
-- 03 履约渠道/状态回填 -----------------------------------------------------
INSERT INTO _launch_checks
SELECT 3, '03', '履约方式已回填(fulfillment_mode)',
SELECT 3, '03', '履约渠道与状态合法(fulfillment_channel/status)',
v::text, '0',
CASE WHEN v = 0 THEN 'PASS' ELSE 'FAIL' END,
'跑 npm run fulfillment:backfill;NULL 会让订单/成本页口径缺失'
FROM (
SELECT count(*) AS v FROM order_items WHERE fulfillment_mode IS NULL
) s;
-- 04 履约方式取值合法 ------------------------------------------------------
INSERT INTO _launch_checks
SELECT 4, '04', '履约方式取值合法',
v::text, '0',
CASE WHEN v = 0 THEN 'PASS' ELSE 'FAIL' END,
'存在未知 fulfillment_mode,检查回填脚本与历史脏数据'
'存在非法状态:检查迁移 112 与渠道判定管道(channel_assign)'
FROM (
SELECT count(*) AS v
FROM order_items
WHERE fulfillment_mode IS NOT NULL
AND fulfillment_mode NOT IN ('work_order', 'manual', 'legacy_platform', 'affiliate_dash')
WHERE fulfillment_status NOT IN ('pending', 'assigned', 'archived')
) s;
-- 04 履约渠道取值合法 ------------------------------------------------------
INSERT INTO _launch_checks
SELECT 4, '04', '履约渠道取值合法',
v::text, '0',
CASE WHEN v = 0 THEN 'PASS' ELSE 'FAIL' END,
'存在未知 fulfillment_channel,检查渠道规则与管道写入'
FROM (
SELECT count(*) AS v
FROM order_items
WHERE fulfillment_status = 'assigned'
AND fulfillment_channel NOT IN ('work_order', 'affiliate_dash', 'third_party_voucher', 'manual')
) s;
-- 05 商品目录 --------------------------------------------------------------
@@ -139,7 +141,8 @@ SELECT 8, '08', '上线后人工项已匹配履约配置',
FROM (
SELECT count(*) AS v
FROM order_items oi
WHERE oi.fulfillment_mode = 'manual'
WHERE oi.fulfillment_status = 'assigned'
AND oi.fulfillment_channel = 'manual'
AND oi.created_at >= :'launch_at'::timestamptz
AND oi.fulfillment_config_id IS NULL
) s;
@@ -153,7 +156,8 @@ SELECT 9, '09', '上线后人工项均已确认履约(关账门槛)',
FROM (
SELECT count(*) AS v
FROM order_items oi
WHERE oi.fulfillment_mode = 'manual'
WHERE oi.fulfillment_status = 'assigned'
AND oi.fulfillment_channel = 'manual'
AND oi.created_at >= :'launch_at'::timestamptz
AND NOT EXISTS (
SELECT 1 FROM cost_snapshots cs
@@ -235,7 +239,7 @@ INSERT INTO _launch_checks
SELECT 14, '14', '销售事实已生成(sales_daily_facts)',
v::text, '> 0',
CASE WHEN v > 0 THEN 'PASS' ELSE 'FAIL' END,
'跑 finance:sync --mode=facts(post-deploy.sh 会按窗口执行);定时任务只覆盖最近 7 天'
'跑 finance:rebuild-cutover(post-deploy.sh 会按窗口执行);定时任务只回看水位窗口'
FROM (SELECT count(*) AS v FROM sales_daily_facts) s;
-- 15 近 7 天成本覆盖(仅提示,不阻断上线) ---------------------------------