完整流程-调试

This commit is contained in:
yml
2026-05-03 18:44:44 +08:00
parent 063c3fd8a1
commit 90cb7aa154
25 changed files with 2337 additions and 27 deletions
@@ -25,6 +25,67 @@ export function mapManualDispatchContext(value, viewerContext = createAdminViewe
}
}
export function mapKuaishouCloudFulfillmentContext(value) {
if (!value || typeof value !== 'object') {
return null
}
const ticket = value.ticket && typeof value.ticket === 'object' ? value.ticket : {}
const binding = value.binding && typeof value.binding === 'object' ? value.binding : {}
const purchase = value.purchase && typeof value.purchase === 'object' ? value.purchase : {}
const dispatch = value.dispatch && typeof value.dispatch === 'object' ? value.dispatch : {}
const returnNumber = value.returnNumber && typeof value.returnNumber === 'object' ? value.returnNumber : {}
const consume = value.consume && typeof value.consume === 'object' ? value.consume : {}
return {
flowType: String(value.flowType || '').trim(),
configId: String(value.configId || '').trim(),
internalSkuCode: String(value.internalSkuCode || '').trim(),
internalSkuName: String(value.internalSkuName || '').trim(),
ticket: {
code: String(ticket.code || '').trim(),
capturedAt: ticket.capturedAt || null,
},
binding: {
prepareStatus: String(binding.prepareStatus || 'pending').trim() || 'pending',
cloudSourceKey: String(binding.cloudSourceKey || '').trim(),
skuId: Number(binding.skuId || 0) || 0,
skuName: String(binding.skuName || '').trim(),
vnKey: String(binding.vnKey || '').trim(),
vnId: Number(binding.vnId || 0) || 0,
vnPhone: String(binding.vnPhone || '').trim(),
bindUrl: String(binding.bindUrl || '').trim(),
bindPreparedAt: binding.bindPreparedAt || null,
},
purchase: {
autoBuyEnabled: purchase.autoBuyEnabled !== false,
minAssetReserve: Number(purchase.minAssetReserve || 0) || 0,
usedKnapsack: purchase.usedKnapsack === true,
purchaseTriggered: purchase.purchaseTriggered === true,
assetBefore: Number(purchase.assetBefore || 0) || 0,
assetAfter: Number(purchase.assetAfter || 0) || 0,
purchaseAt: purchase.purchaseAt || null,
},
dispatch: {
status: String(dispatch.status || 'pending').trim() || 'pending',
dispatchAt: dispatch.dispatchAt || null,
sendType: Number(dispatch.sendType || 0) || 0,
note: String(dispatch.note || '').trim(),
},
returnNumber: {
status: String(returnNumber.status || 'pending').trim() || 'pending',
returnedAt: returnNumber.returnedAt || null,
autoReturnEnabled: returnNumber.autoReturnEnabled === true,
},
consume: {
status: String(consume.status || 'pending').trim() || 'pending',
shopId: String(consume.shopId || '').trim(),
autoConsumeEnabled: consume.autoConsumeEnabled === true,
},
notes: String(value.notes || '').trim(),
}
}
export function mapRedeemResolutionContext(value) {
if (!value || typeof value !== 'object') {
return null
@@ -85,7 +146,7 @@ export function canViewerCloseTask(task, viewerContext) {
return false
}
return !['redeemed', 'closed'].includes(String(task?.task_status || '').trim())
return !['redeemed', 'completed', 'closed'].includes(String(task?.task_status || '').trim())
}
export function resolveDisplayShopName(provider, shopId, shopName) {
@@ -175,6 +236,10 @@ export function resolveOrderItemDeliveryMode(tasks, orderItemId) {
return 'manual_dispatch'
}
if (String(task.executor_key || '').trim() === 'kuaishou_ct_assisted') {
return 'kuaishou_cloud'
}
if (task.requires_claim || getTaskPrimaryClaimTokenId(task) || task.primary_claim_token || task.claim_token) {
return 'claim_link'
}