From 3d747aa5aa0153c49f491f4d35943a9eab93c18e Mon Sep 17 00:00:00 2001 From: yml2213 Date: Tue, 11 Aug 2026 11:00:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=A8=E5=8E=86=E5=8F=B2=E5=B1=A5?= =?UTF-8?q?=E7=BA=A6=E9=80=9A=E9=81=93=E4=BC=98=E5=85=88=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fulfillment/routing-config-service.test.ts | 12 ++++++++++++ .../services/fulfillment/routing-config-service.ts | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/apps/backend/src/services/fulfillment/routing-config-service.test.ts b/apps/backend/src/services/fulfillment/routing-config-service.test.ts index c83c1a4b..9fd16087 100644 --- a/apps/backend/src/services/fulfillment/routing-config-service.test.ts +++ b/apps/backend/src/services/fulfillment/routing-config-service.test.ts @@ -6,6 +6,18 @@ import { resolveFulfillmentRoute, } from './routing-config-service.js' +test('normalizeFulfillmentRoutingConfig adds channels missing from historical priority configs', () => { + const config = normalizeFulfillmentRoutingConfig({ + defaultExecutorPriority: ['kuaishou_ct_assisted', 'kuaishou_feifei'], + }) + + assert.deepEqual(config.defaultExecutorPriority, [ + 'kuaishou_ct_assisted', + 'kuaishou_feifei', + 'affiliate_dash', + ]) +}) + test('resolveFulfillmentRoute 总开关关闭后不再回退默认配置,返回未选中', () => { const result = resolveFulfillmentRoute({ productName: '测试商品', diff --git a/apps/backend/src/services/fulfillment/routing-config-service.ts b/apps/backend/src/services/fulfillment/routing-config-service.ts index c6cedde2..ba956b4a 100644 --- a/apps/backend/src/services/fulfillment/routing-config-service.ts +++ b/apps/backend/src/services/fulfillment/routing-config-service.ts @@ -440,6 +440,14 @@ function normalizeExecutorPriority(value: unknown) { items.push(executorKey) } + // 历史配置不会自动拥有后来新增的履约通道;补全默认通道,开关仍由 executors 控制。 + for (const executorKey of DEFAULT_EXECUTOR_PRIORITY) { + if (!seen.has(executorKey)) { + seen.add(executorKey) + items.push(executorKey) + } + } + return items }