feat: 完善履约路由、订单服务与自动核销

This commit is contained in:
yml2213
2026-11-05 14:59:58 +08:00
parent 517d763f17
commit 1df88cc639
54 changed files with 3166 additions and 318 deletions
+10 -11
View File
@@ -2,22 +2,21 @@ import { message } from 'antd'
import type { WorkOrderVoucherConsumeResult } from '@/services/admin/consignment'
/**
* 电子凭证核销结果必须如实反馈:核销失败时后端已经改完状态,但凭证没消耗,
* 之前有调用方无条件弹"成功",运营会以为凭证已核销而漏掉人工处理。
* 统一出口:所有履约/指派/手动匹配的调用方都用这一个,避免文案与口径各自漂移。
*/
export function notifyVoucherConsume(voucherConsume?: WorkOrderVoucherConsumeResult) {
if (!voucherConsume || voucherConsume.ok) {
if (voucherConsume?.alreadyConsumedCount) {
message.info(`电子凭证已提前核销 ${voucherConsume.alreadyConsumedCount} 张,本次未重复核销`)
}
if (!voucherConsume) return
if (voucherConsume.queuedCount > 0) {
message.success(`自动核销已排队 ${voucherConsume.queuedCount} 个任务`)
return
}
if (voucherConsume.status === 'already_scheduled') {
message.info('核销任务已在队列中,本次未重复安排')
return
}
if (voucherConsume.ok) return
message.warning({
content: `状态已变更,但电子凭证核销失败:${
content: `状态已变更,但自动核销未安排成功:${
voucherConsume.errorMessage || '未知错误'
}。请到「抖音券核销」或快手电子凭证后台人工核销后再发货`,
}。请在核销任务或平台券后台人工处理`,
duration: 8,
})
}