后端迁移快手云领取服务

This commit is contained in:
yml
2026-05-21 15:47:06 +08:00
parent 73982259c5
commit f8c59abb95
3 changed files with 12 additions and 1 deletions
@@ -0,0 +1,61 @@
import {
normalizeKuaishouCloudFlow,
prepareKuaishouCloudFulfillmentTask,
probeKuaishouCloudTaskBindUrl,
refreshKuaishouCloudTaskRoleInfo,
} from '../fulfillment/kuaishou-cloud-task-service.js'
export async function syncKuaishouCloudRoleInfo(task) {
const flow = normalizeKuaishouCloudFlow(parseTaskContext(task).kuaishouCloudFulfillment)
if (!flow.binding.vnId || !flow.binding.vnKey || !flow.binding.vnPhone) {
if (flow.ticket.status === 'verified' && flow.binding.prepareStatus !== 'ready') {
try {
const prepared = await prepareKuaishouCloudFulfillmentTask(task, {
source: 'claim_page_retry_binding_prepare',
actor: { source: 'system' },
})
return prepared.task
} catch {
return task
}
}
return task
}
try {
const probed = await probeKuaishouCloudTaskBindUrl(task, {
source: 'claim_page_polling_bind_url_probe',
actor: { source: 'system' },
})
task = probed.task
const result = await refreshKuaishouCloudTaskRoleInfo(task, {
source: 'claim_page_polling',
actor: { source: 'system' },
recordEvent: false,
})
return result.task
} catch {
return task
}
}
function parseTaskContext(task) {
const rawValue = task?.context_json
if (!rawValue) {
return {}
}
if (typeof rawValue === 'object') {
return rawValue
}
try {
return JSON.parse(String(rawValue || '{}'))
} catch {
return {}
}
}