feat: 打手分内部/外部,内部免审核;支持后台指派打手

- worker_users 新增 worker_type(internal/external,迁移 017)
- 内部打手提交验收后自动通过进入待打款(accepted+结算),外部打手保持后台审核
- 打手管理页支持设为内部/外部并显示类型标签
- 新增后台指派打手:未分配/待抢单工单可指定已注册打手,进入其我的订单并冻结押金
- 指派带审计与事件记录,校验打手状态/接单上限/余额押金
This commit is contained in:
yml2213
2026-08-14 16:35:15 +08:00
parent 6a17113374
commit 7bb3142958
13 changed files with 403 additions and 16 deletions
@@ -2,6 +2,7 @@ import { Router } from 'express'
import {
acceptAdminWorkOrder,
assignAdminWorkOrderToWorker,
creditAdminWorkerWallet,
createAdminMockWorkOrder,
deductAdminWorkOrderPendingDeposit,
@@ -341,6 +342,25 @@ router.put(
),
)
router.post(
'/worker-platform/orders/:workOrderId/assign',
requireAdminRoles(['admin', 'operator']),
createJsonHandler(
(req) => assignAdminWorkOrderToWorker(String(req.params.workOrderId || ''), req.body || {}),
{
successMessage: '已指派打手',
errorMessage: '指派打手失败',
scope: '[admin/worker-platform/orders/:workOrderId/assign]',
audit: (req, data) => ({
action: 'work_order_worker_assigned',
targetType: 'work_order',
targetId: String(req.params.workOrderId || ''),
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
}),
},
),
)
router.delete(
'/worker-platform/orders/:workOrderId',
requireAdminRoles(['admin', 'operator']),