fix(fulfillment): 抖音未命中皮肤映射时显式回落人工,避免静默漏单
原本未命中的抖音订单项只靠全局 `unmatchedExecutorKey` 兜底,而线上/联调环境该值 可能是空串(dev 库实测就是 `unmatchedExecutorKey=''`)——那种配置下未命中的抖音订单 既不建履约任务、也不进人工,等于**静默漏单**(需求要求的是「接单平台走人工」)。 改为在抖音分支里显式指定回落:命中权威映射 → `douyin_mashida_skin`; 未命中 → 直接以 `preferredExecutorKey=manual_dispatch` 选中人工通道,不依赖全局配置。 实测(dev 真实配置,`unmatchedExecutorKey` 为空串): 幸运币2个 / 套装-浪漫天命 → douyin_mashida_skin(isConfigured=true) 代练上分-星耀到王者(未命中)→ manual_dispatch(isConfigured=true) 空 SKU → manual_dispatch 对照 91卡券/快手 → 行为不变(未配映射仍 isConfigured=false)
This commit is contained in:
@@ -298,13 +298,23 @@ function resolveDouyinMashidaItemCandidate({
|
||||
const fulfillmentRoute = resolveFulfillmentRoute({
|
||||
productName: productTitle,
|
||||
internalSku,
|
||||
preferredExecutorKey: douyinSkinMatch ? FULFILLMENT_EXECUTOR_KEYS.DOUYIN_MASHIDA_SKIN : '',
|
||||
// 命中皮肤 → 皮肤自动发货;未命中 → **显式**回落人工(接单平台)。
|
||||
// 不依赖全局 `unmatchedExecutorKey`:线上/联调环境该值可能是空串(dev 库就是空串),
|
||||
// 那样未命中的抖音订单会既不建任务、也不进人工,等于静默漏单。
|
||||
preferredExecutorKey: douyinSkinMatch
|
||||
? FULFILLMENT_EXECUTOR_KEYS.DOUYIN_MASHIDA_SKIN
|
||||
: FULFILLMENT_EXECUTOR_KEYS.MANUAL_DISPATCH,
|
||||
candidates: [
|
||||
{
|
||||
executorKey: FULFILLMENT_EXECUTOR_KEYS.DOUYIN_MASHIDA_SKIN,
|
||||
available: Boolean(douyinSkinMatch),
|
||||
reason: douyinSkinMatch ? '' : '内部 SKU 未命中皮肤商品映射',
|
||||
},
|
||||
{
|
||||
executorKey: FULFILLMENT_EXECUTOR_KEYS.MANUAL_DISPATCH,
|
||||
available: true,
|
||||
reason: '接单平台/人工兜底',
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user