彻底重构-4

This commit is contained in:
yml
2026-04-09 15:51:24 +08:00
parent 60054adcc4
commit 4c395103a9
28 changed files with 1917 additions and 404 deletions
+51 -8
View File
@@ -2,12 +2,14 @@ import { Router } from 'express'
import {
closeAdminTask,
completeAdminTaskManualDispatch,
getAdminTaskDetail,
getAdminTaskScreenshotPath,
getAdminTasks,
markAdminTaskManualReview,
regenerateAdminTaskClaimLink,
releaseAdminTaskCdk,
releaseAdminTaskInventoryBinding,
releaseAdminTaskInventory,
retryAdminTask,
} from '../../services/admin/admin-service.js'
import { createFileHandler, createJsonHandler, requireAdminRoles } from './shared.js'
@@ -49,14 +51,14 @@ router.post('/tasks/:taskId/retry', createJsonHandler(
},
))
router.post('/tasks/:taskId/release-cdk', requireAdminRoles(['admin']), createJsonHandler(
(req) => releaseAdminTaskCdk(req.params.taskId),
router.post('/tasks/:taskId/release-inventory', requireAdminRoles(['admin']), createJsonHandler(
(req) => releaseAdminTaskInventory(req.params.taskId),
{
successMessage: 'CDK 已释放',
errorMessage: '释放 CDK 失败',
scope: '[admin/tasks/:taskId/release-cdk]',
successMessage: '库存凭据已释放',
errorMessage: '释放库存凭据失败',
scope: '[admin/tasks/:taskId/release-inventory]',
audit: (req, data) => ({
action: 'task_release_cdk',
action: 'task_release_inventory',
targetType: 'task',
targetId: String(req.params.taskId),
data: {
@@ -68,6 +70,26 @@ router.post('/tasks/:taskId/release-cdk', requireAdminRoles(['admin']), createJs
},
))
router.post('/tasks/:taskId/inventory-bindings/:bindingId/release', requireAdminRoles(['admin']), createJsonHandler(
(req) => releaseAdminTaskInventoryBinding(req.params.taskId, req.params.bindingId),
{
successMessage: '库存绑定已释放',
errorMessage: '释放库存绑定失败',
scope: '[admin/tasks/:taskId/inventory-bindings/:bindingId/release]',
audit: (req, data) => ({
action: 'task_release_inventory_binding',
targetType: 'task_inventory_binding',
targetId: String(req.params.bindingId),
data: {
taskId: data.task.taskId,
taskNo: data.task.taskNo,
bindingId: data.bindingId,
inventoryItemId: data.inventoryItemId,
},
}),
},
))
router.post('/tasks/:taskId/regenerate-claim-link', requireAdminRoles(['admin']), createJsonHandler(
(req) => regenerateAdminTaskClaimLink(req.params.taskId),
{
@@ -81,7 +103,7 @@ router.post('/tasks/:taskId/regenerate-claim-link', requireAdminRoles(['admin'])
data: {
taskId: data.task.taskId,
taskNo: data.task.taskNo,
claimTokenId: data.task.claimTokenId,
primaryClaimTokenId: data.task.primaryClaimTokenId,
},
}),
},
@@ -125,4 +147,25 @@ router.post('/tasks/:taskId/mark-manual-review', requireAdminRoles(['admin']), c
},
))
router.post('/tasks/:taskId/complete-manual-dispatch', requireAdminRoles(['admin']), createJsonHandler(
(req) => completeAdminTaskManualDispatch(req.params.taskId, req.body, req.adminSession),
{
successMessage: '人工履约结果已回写',
errorMessage: '回写人工履约结果失败',
scope: '[admin/tasks/:taskId/complete-manual-dispatch]',
audit: (req, data) => ({
action: 'task_complete_manual_dispatch',
targetType: 'task',
targetId: String(req.params.taskId),
data: {
taskId: data.task.taskId,
taskNo: data.task.taskNo,
outcome: data.outcome,
deliveryStatus: data.task.deliveryStatus,
resultCode: data.task.resultCode,
},
}),
},
))
export default router