feat(worker-platform): 实现打手寄卖白名单权限控制与存量发布打手平滑过渡
1. 新增数据库迁移 082_worker_consignment_whitelist.sql,worker_users 表增加 can_consign 与 consignment_activated_at 字段,存量在 consignment_submissions 提报过的打手默认自动开启; 2. 打手端提报接口 publishWorkerConsignment 增加白名单权限服务端强校验拦截(403 consignment_permission_required); 3. 管理后台打手管理表格增加「寄卖权限」实时 Switch 开关列与打手详情抽屉权限展示,支持客服即时开通或关闭打手寄卖权限; 4. 打手端我要寄卖页面在未开通权限时展示专属白名单引导卡片,一键呼起联系客服开通寄卖弹窗; 5. 补充寄卖权限拦截与路由单测,前端59项单测与后端507项单测全部通过。
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
||||
saveAdminWorkerWithdrawalAccount,
|
||||
setAdminWorkerPersonalDepositFreeAmount,
|
||||
updateAdminWorkerWithdrawalBlacklist,
|
||||
updateAdminWorkerConsignmentPermission,
|
||||
} from '../../../services/worker-platform/index.js'
|
||||
import { createJsonHandler, requireAdminRoles } from '../session.js'
|
||||
|
||||
@@ -141,6 +142,26 @@ router.post(
|
||||
),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/worker-platform/workers/:workerId/consignment-permission',
|
||||
requireAdminRoles(['admin', 'operator']),
|
||||
createJsonHandler(
|
||||
(req) =>
|
||||
updateAdminWorkerConsignmentPermission(String(req.params.workerId || ''), req.body || {}),
|
||||
{
|
||||
successMessage: '打手寄卖权限已更新',
|
||||
errorMessage: '更新打手寄卖权限失败',
|
||||
scope: '[admin/worker-platform/workers/:workerId/consignment-permission]',
|
||||
audit: (req, data) => ({
|
||||
action: 'worker_consignment_permission_updated',
|
||||
targetType: 'worker',
|
||||
targetId: String(req.params.workerId || ''),
|
||||
data: data && typeof data === 'object' ? (data as Record<string, unknown>) : {},
|
||||
}),
|
||||
},
|
||||
),
|
||||
)
|
||||
|
||||
router.post(
|
||||
'/worker-platform/workers/:workerId/wallet-credit',
|
||||
requireAdminRoles(['admin', 'operator']),
|
||||
|
||||
Reference in New Issue
Block a user