校验核销码会先检查 余额

This commit is contained in:
yml2213
2026-05-14 13:51:36 +08:00
parent 83cb2ff1fa
commit c7a9787814
3 changed files with 31 additions and 21 deletions
@@ -1,9 +1,9 @@
{
"token": "rEX46KZqfspDZ5CVtDcyLuo9GF5PUqsp2TOHvLuleA3zdQev8sgLJOOHiTjxxo2NLXEm6VrxNx6i9hhEdbFJQwSI",
"token": "P1ifGvDcxYchECzx51cqL2TzBkntjQtRwxpetU7RDMMjsSCmC8kHU751bJ4rJMSSjQN73QveARqGLIWe078nKvnA",
"baseUrl": "https://123.207.217.176",
"username": "17665234375",
"phone": "17665234375",
"loggedInAt": "2026-05-02T15:19:01.258Z",
"loggedInAt": "2026-05-14T05:47:42.507Z",
"deviceId": "-",
"deviceType": 0
}
@@ -97,14 +97,31 @@ export async function verifyKuaishouCloudClaimTicket(token, payload = {}) {
},
}
const updatedTask = await updateTask(context.task.id, {
claim_token: context.claimToken.token,
claim_expires_at: context.claimToken.expired_at,
claimed_at: context.task.claimed_at || now,
context_json: JSON.stringify(nextContext),
last_error: '',
updated_at: now,
})
const preparedFlow = normalizeKuaishouCloudFlow(nextContext.kuaishouCloudFulfillment)
if (preparedFlow.binding.prepareStatus !== 'ready' || !preparedFlow.binding.bindUrl) {
await prepareKuaishouCloudFulfillmentTask({
...context.task,
context_json: JSON.stringify(nextContext),
}, {
source: 'claim_page_ticket_verified',
actor: { source: 'claim_page' },
})
} else {
await updateTask(context.task.id, {
claim_token: context.claimToken.token,
claim_expires_at: context.claimToken.expired_at,
context_json: JSON.stringify(nextContext),
last_error: '',
updated_at: now,
})
}
if (!context.task.claimed_at) {
await updateTask(context.task.id, {
claimed_at: now,
updated_at: now,
})
}
await createTaskEvent(context.task.id, 'kuaishou_cloud_ticket_verified', {
ticketCodeMasked: maskCode(detailResult.eTicketId || ticketCode),
@@ -113,14 +130,6 @@ export async function verifyKuaishouCloudClaimTicket(token, payload = {}) {
goodsTitle: String(detailResult.goods?.itemTitle || '').trim(),
}, now)
const preparedFlow = normalizeKuaishouCloudFlow(nextContext.kuaishouCloudFulfillment)
if (preparedFlow.binding.prepareStatus !== 'ready' || !preparedFlow.binding.bindUrl) {
await prepareKuaishouCloudFulfillmentTask(updatedTask, {
source: 'claim_page_ticket_verified',
actor: { source: 'claim_page' },
})
}
return getClaimDetail(token, { includeQrImage: false })
}