新增财务角色与财务报表并完善后台权限

This commit is contained in:
yml2213
2026-09-02 13:58:03 +08:00
parent de63daf1ac
commit bf167d98ed
29 changed files with 1242 additions and 69 deletions
+3 -1
View File
@@ -3,10 +3,12 @@ import type { JsonObject } from '../../types/json.js'
import { getAdminDashboardSummary } from '../../services/admin/admin-dashboard-service.js'
import { getAdminLoginLogs } from '../../services/admin/admin-login-log-service.js'
import { createJsonHandler } from './session.js'
import { createJsonHandler, requireAdminRoles } from './session.js'
const router = Router()
router.use('/dashboard', requireAdminRoles(['admin', 'operator', 'support']))
router.get(
'/dashboard/summary',
createJsonHandler(() => getAdminDashboardSummary(), {
+31
View File
@@ -0,0 +1,31 @@
import { Router } from 'express'
import {
getAdminFinanceSummary,
listAdminFinanceTransactions,
} from '../../services/admin/admin-finance-service.js'
import { createJsonHandler, requireAdminRoles } from './session.js'
const router = Router()
router.get(
'/finance/summary',
requireAdminRoles(['admin', 'operator', 'finance']),
createJsonHandler((req) => getAdminFinanceSummary(req.query), {
successMessage: 'ok',
errorMessage: '读取财务汇总失败',
scope: '[admin/finance/summary]',
}),
)
router.get(
'/finance/transactions',
requireAdminRoles(['admin', 'operator', 'finance']),
createJsonHandler((req) => listAdminFinanceTransactions(req.query), {
successMessage: 'ok',
errorMessage: '读取财务明细失败',
scope: '[admin/finance/transactions]',
}),
)
export default router
+2
View File
@@ -7,6 +7,8 @@ import type { AdminOrderRouteParams, AdminOrderRouteQuery } from '../../types/ad
const router = Router()
router.use('/orders', requireAdminRoles(['admin', 'operator', 'support']))
router.get(
'/orders',
createJsonHandler((req) => getAdminOrders(req.query as AdminOrderRouteQuery), {
+2
View File
@@ -22,6 +22,8 @@ import type { AdminTaskActionResponse } from '../../types/admin/write-models.js'
const router = Router()
router.use('/tasks', requireAdminRoles(['admin', 'operator', 'support']))
function getTaskId(req: Request): string {
return String((req.params as AdminTaskRouteParams).taskId || '')
}
@@ -35,6 +35,7 @@ const router = Router()
router.get(
'/worker-platform/summary',
requireAdminRoles(['admin', 'operator', 'support']),
createJsonHandler(() => getAdminWorkerPlatformSummary(), {
successMessage: 'ok',
errorMessage: '读取接单平台概览失败',
@@ -342,7 +343,7 @@ router.get(
router.get(
'/worker-platform/finance-config',
requireAdminRoles(['admin', 'operator', 'support']),
requireAdminRoles(['admin', 'operator', 'support', 'finance']),
createJsonHandler(() => getAdminWorkerFinanceConfig(), {
successMessage: 'ok',
errorMessage: '读取资金配置失败',
@@ -10,7 +10,7 @@ const router = Router()
router.get(
'/worker-platform/finance-requests',
requireAdminRoles(['admin', 'operator', 'support']),
requireAdminRoles(['admin', 'operator', 'support', 'finance']),
createJsonHandler((req) => listAdminWorkerFinanceRequests(req.query), {
successMessage: 'ok',
errorMessage: '读取资金申请失败',
@@ -20,7 +20,7 @@ router.get(
router.post(
'/worker-platform/finance-requests/:requestId/review',
requireAdminRoles(['admin', 'operator']),
requireAdminRoles(['admin', 'operator', 'finance']),
createJsonHandler(
(req) =>
reviewAdminWorkerFinanceRequest(