feat(worker): support batch sharing cancellation

This commit is contained in:
yml2213
2026-08-28 19:40:49 +08:00
parent e189811617
commit d91d7180ad
13 changed files with 633 additions and 96 deletions
@@ -4,11 +4,12 @@ import {
acceptAdminWorkOrder,
acceptAdminWorkOrderShare,
cancelAdminWorkOrderShare,
cancelAdminWorkOrderSharing,
deductAdminWorkOrderPendingDeposit,
markAdminWorkOrderProblem,
resolveAdminProblemWorkOrder,
} from '../../../services/worker-platform/index.js'
import { createJsonHandler, requireAdminPermission } from '../session.js'
import { createJsonHandler, requireAdminPermission, requireAnyAdminPermission } from '../session.js'
const router = Router()
@@ -104,6 +105,34 @@ router.post(
),
)
router.post(
'/worker-platform/orders/:workOrderId/sharing/cancel',
requireAnyAdminPermission(['worker_order.return_to_hall', 'worker_order.cancel']),
createJsonHandler(
(req) =>
cancelAdminWorkOrderSharing(
String(req.params.workOrderId || ''),
req.body || {},
req.adminSession?.username || '',
req.adminSession?.permissions || [],
),
{
successMessage: '拼单撤单处理完成',
errorMessage: '拼单撤单失败',
scope: '[admin/worker-platform/orders/:workOrderId/sharing/cancel]',
audit: (req, data) => ({
action:
String(req.body?.action || '').trim() === 'return_to_hall'
? 'work_order_sharing_returned_to_hall'
: 'work_order_sharing_cancelled',
targetType: 'work_order',
targetId: String(req.params.workOrderId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
},
),
)
router.post(
'/worker-platform/orders/:workOrderId/shares/:shareId/cancel',
requireAdminPermission('worker_order.cancel_share'),