接单平台等级 CRUD 完善,修复默认分类停用被重置

- 等级面板支持编辑、启用/停用切换、删除(默认等级与使用中等级受保护)
- 新增等级删除接口及使用量校验
- 修复默认分类停用后被 ensureWorkerPlatformDefaults 重置为启用的问题,默认分类仅不存在时创建
- 分类操作后改为显式刷新列表
This commit is contained in:
yml2213
2026-08-01 15:11:02 +08:00
parent 0369186b18
commit d9db2f5dce
5 changed files with 187 additions and 19 deletions
@@ -323,6 +323,22 @@ export async function upsertWorkerLevel(input: {
return result.rows[0] || null
}
export async function countWorkerLevelUsages(levelId: number | string): Promise<number> {
const result = await query<{ total: number }>(
'SELECT COUNT(*)::int AS total FROM worker_users WHERE level_id = $1',
[Number(levelId)],
)
return Number(result.rows[0]?.total || 0)
}
export async function deleteWorkerLevel(levelId: number | string): Promise<{ deleted: boolean }> {
const result = await query<{ id: number }>(
'DELETE FROM worker_levels WHERE id = $1 RETURNING id',
[Number(levelId)],
)
return { deleted: Boolean(result.rows[0]) }
}
export async function getWorkerUserByUsername(username: string): Promise<WorkerUserRow | null> {
const result = await query<WorkerUserRow>(
`${WORKER_USER_SELECT} WHERE wu.username = $1 LIMIT 1`,