通知系统-1
This commit is contained in:
@@ -5,6 +5,7 @@ import {
|
||||
} from '../../repositories/fulfillment-profile-repo.js'
|
||||
import { reserveInventoryForTask } from './inventory-service.js'
|
||||
import { createTaskClaimToken } from '../claim/claim-service.js'
|
||||
import { notifyTaskAutoManualReview } from '../notification/domain-notifications.js'
|
||||
import { nowIso } from '../../utils/time.js'
|
||||
import { randomId } from '../../utils/random.js'
|
||||
|
||||
@@ -227,21 +228,35 @@ async function preparePaidTask(task) {
|
||||
}
|
||||
|
||||
if (!task.requires_claim || String(task.executor_key || '').trim() === 'manual_dispatch') {
|
||||
return updateTask(task.id, {
|
||||
const lastError = task.last_error || '当前任务需要人工履约处理'
|
||||
const updatedTask = await updateTask(task.id, {
|
||||
task_status: 'manual_review',
|
||||
inventory_status: 'not_required',
|
||||
user_action_status: 'not_required',
|
||||
last_error: task.last_error || '当前任务需要人工履约处理',
|
||||
last_error: lastError,
|
||||
updated_at: now,
|
||||
})
|
||||
await notifyTaskAutoManualReview({
|
||||
task: updatedTask || task,
|
||||
reason: lastError,
|
||||
source: 'manual_dispatch_profile',
|
||||
})
|
||||
return updatedTask
|
||||
}
|
||||
|
||||
if (!inventorySkuCode) {
|
||||
return updateTask(task.id, {
|
||||
const lastError = '未匹配到 SKU,无法为任务分配库存凭据'
|
||||
const updatedTask = await updateTask(task.id, {
|
||||
task_status: 'manual_review',
|
||||
last_error: '未匹配到 SKU,无法为任务分配库存凭据',
|
||||
last_error: lastError,
|
||||
updated_at: now,
|
||||
})
|
||||
await notifyTaskAutoManualReview({
|
||||
task: updatedTask || task,
|
||||
reason: lastError,
|
||||
source: 'missing_sku',
|
||||
})
|
||||
return updatedTask
|
||||
}
|
||||
|
||||
if (task.primary_inventory_item_id && task.primary_claim_token_id) {
|
||||
@@ -253,11 +268,18 @@ async function preparePaidTask(task) {
|
||||
}
|
||||
|
||||
if (!primaryRequirement?.credentialType) {
|
||||
return updateTask(task.id, {
|
||||
const lastError = '履约档案未配置库存要求,无法自动分配库存'
|
||||
const updatedTask = await updateTask(task.id, {
|
||||
task_status: 'manual_review',
|
||||
last_error: '履约档案未配置库存要求,无法自动分配库存',
|
||||
last_error: lastError,
|
||||
updated_at: now,
|
||||
})
|
||||
await notifyTaskAutoManualReview({
|
||||
task: updatedTask || task,
|
||||
reason: lastError,
|
||||
source: 'missing_inventory_requirement',
|
||||
})
|
||||
return updatedTask
|
||||
}
|
||||
|
||||
const reserved = await reserveInventoryForTask({
|
||||
|
||||
Reference in New Issue
Block a user