fix(admin): 恢复任务重试/转人工/人工完结等后台写接口
删除咸鱼链路时误删了 retry、mark-manual-review、complete-manual-dispatch、regenerate-claim-link;现按 affiliate_dash + manual_dispatch 语义恢复,历史下线通道可人工完结但不可自动重试。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,7 +2,13 @@ import type { Request } from 'express'
|
||||
import { Router } from 'express'
|
||||
|
||||
import { getAdminTaskDetail, getAdminTasks } from '../../services/admin/admin-read-service.js'
|
||||
import { closeAdminTask } from '../../services/admin/write/task-actions.js'
|
||||
import {
|
||||
closeAdminTask,
|
||||
completeAdminTaskManualDispatch,
|
||||
markAdminTaskManualReview,
|
||||
regenerateAdminTaskClaimLink,
|
||||
retryAdminTask,
|
||||
} from '../../services/admin/write/task-actions.js'
|
||||
import {
|
||||
consumeAdminTaskKuaishouIndustryVoucher,
|
||||
resendAdminTaskKuaishouIndustryVoucherCode,
|
||||
@@ -10,10 +16,14 @@ import {
|
||||
import { createJsonHandler, requireAdminRoles } from './session.js'
|
||||
import type {
|
||||
AdminTaskKuaishouIndustryConsumeRouteBody,
|
||||
AdminTaskManualDispatchRouteBody,
|
||||
AdminTaskRouteParams,
|
||||
AdminTaskRouteQuery,
|
||||
} from '../../types/admin/route-inputs.js'
|
||||
import type { AdminTaskActionResponse } from '../../types/admin/write-models.js'
|
||||
import type {
|
||||
AdminTaskActionResponse,
|
||||
AdminTaskManualDispatchResponse,
|
||||
} from '../../types/admin/write-models.js'
|
||||
|
||||
const router = Router()
|
||||
|
||||
@@ -44,6 +54,31 @@ router.get(
|
||||
}),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/retry',
|
||||
requireAdminRoles(['admin', 'operator']),
|
||||
createJsonHandler((req) => retryAdminTask(getTaskId(req), req.adminSession || null), {
|
||||
successMessage: '任务已重试',
|
||||
errorMessage: '重试任务失败',
|
||||
scope: '[admin/tasks/:taskId/retry]',
|
||||
audit: (req, data) => buildTaskAudit('task_retry', req, data),
|
||||
}),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/regenerate-claim-link',
|
||||
requireAdminRoles(['admin', 'operator', 'support']),
|
||||
createJsonHandler(
|
||||
(req) => regenerateAdminTaskClaimLink(getTaskId(req), req.adminSession || null),
|
||||
{
|
||||
successMessage: '领取链接已重新生成',
|
||||
errorMessage: '重新生成领取链接失败',
|
||||
scope: '[admin/tasks/:taskId/regenerate-claim-link]',
|
||||
audit: (req, data) => buildTaskAudit('task_regenerate_claim_link', req, data),
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/close',
|
||||
requireAdminRoles(['admin', 'operator', 'support']),
|
||||
@@ -55,6 +90,50 @@ router.post(
|
||||
}),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/mark-manual-review',
|
||||
requireAdminRoles(['admin', 'operator']),
|
||||
createJsonHandler((req) => markAdminTaskManualReview(getTaskId(req), req.adminSession || null), {
|
||||
successMessage: '任务已转人工处理',
|
||||
errorMessage: '标记人工处理失败',
|
||||
scope: '[admin/tasks/:taskId/mark-manual-review]',
|
||||
audit: (req, data) => buildTaskAudit('task_mark_manual_review', req, data),
|
||||
}),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/complete-manual-dispatch',
|
||||
requireAdminRoles(['admin', 'operator']),
|
||||
createJsonHandler(
|
||||
(req) =>
|
||||
completeAdminTaskManualDispatch(
|
||||
getTaskId(req),
|
||||
req.body as AdminTaskManualDispatchRouteBody,
|
||||
req.adminSession || null,
|
||||
),
|
||||
{
|
||||
successMessage: '人工履约结果已回写',
|
||||
errorMessage: '回写人工履约结果失败',
|
||||
scope: '[admin/tasks/:taskId/complete-manual-dispatch]',
|
||||
audit: (req, data) => {
|
||||
const result = data as AdminTaskManualDispatchResponse
|
||||
return {
|
||||
action: 'task_complete_manual_dispatch',
|
||||
targetType: 'task',
|
||||
targetId: String(getTaskId(req)),
|
||||
data: {
|
||||
taskId: result.task.taskId,
|
||||
taskNo: result.task.taskNo,
|
||||
outcome: result.outcome,
|
||||
deliveryStatus: result.task.deliveryStatus,
|
||||
resultCode: result.task.resultCode,
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/tasks/:taskId/kuaishou-industry/resend-code',
|
||||
requireAdminRoles(['admin', 'operator', 'support']),
|
||||
|
||||
Reference in New Issue
Block a user