fix(consignment): 打通寄卖权限鉴权、指派占库竞态与撤销守卫

- 后台权限白名单补齐 consignment.view/manage/review/fulfill,
  避免在「角色权限」页保存任意角色时静默清除寄卖权限
- 寄卖后台 19 个接口由 requireAdminRoles 改为 requireAdminPermission,
  使 view/manage/review/fulfill 四个权限真正生效
- 指派打手履约改为先原子占库(WHERE status = 'in_stock'),
  失败自动回滚库存,消除并发下同一件现货被两张工单同时认领
- 撤销寄售履约拒绝押金履约模式(worker_deposit),
  避免打手押金不释放造成资金挂账;前端同步隐藏该入口
- 撤销回库不再强制覆盖 allow_matching,保留运营手动关闭的匹配开关
- 新增 4 个回归测试:权限白名单与迁移一致性、占库/回滚条件、撤销守卫
This commit is contained in:
yml2213
2026-09-16 11:38:08 +08:00
parent 6b9407967b
commit e828e677a5
6 changed files with 324 additions and 94 deletions
@@ -21,6 +21,10 @@ export const ADMIN_PERMISSION_KEYS = [
'worker_order.manage_problem',
'worker_order.deduct_deposit',
'worker_cancel_request.review',
'consignment.view',
'consignment.manage',
'consignment.review',
'consignment.fulfill',
] as const
export type AdminPermissionKey = (typeof ADMIN_PERMISSION_KEYS)[number]