Files
order_site/apps/backend/src/routes/admin/orders.ts
T
2026-07-10 12:00:23 +08:00

59 lines
1.8 KiB
TypeScript

import { Router } from 'express'
import { getAdminOrderDetail, getAdminOrders } from '../../services/admin/admin-read-service.js'
import { resendAdminOrderKuaishouIndustryVoucherCodes } from '../../services/admin/write/kuaishou-cloud-actions.js'
import { createJsonHandler, requireAdminRoles } from './session.js'
import type {
AdminOrderRouteParams,
AdminOrderRouteQuery,
} from '../../types/admin/route-inputs.js'
const router = Router()
router.get('/orders', createJsonHandler(
(req) => getAdminOrders(req.query as AdminOrderRouteQuery),
{
successMessage: 'ok',
errorMessage: '读取订单列表失败',
scope: '[admin/orders]',
},
))
router.get('/orders/:orderId', createJsonHandler(
(req) =>
getAdminOrderDetail(
String((req.params as AdminOrderRouteParams).orderId || ''),
req.adminSession || null,
),
{
successMessage: 'ok',
errorMessage: '读取订单详情失败',
scope: '[admin/orders/:orderId]',
},
))
router.post(
'/orders/:orderId/kuaishou-industry/resend-code',
requireAdminRoles(['admin', 'operator', 'support']),
createJsonHandler(
(req) =>
resendAdminOrderKuaishouIndustryVoucherCodes(
String((req.params as AdminOrderRouteParams).orderId || ''),
req.adminSession || null,
),
{
successMessage: '电子凭证发码回调已重发',
errorMessage: '重发电子凭证发码回调失败',
scope: '[admin/orders/:orderId/kuaishou-industry/resend-code]',
audit: (req, data) => ({
action: 'order_kuaishou_industry_resend_code',
targetType: 'order',
targetId: String((req.params as AdminOrderRouteParams).orderId || ''),
data: data && typeof data === 'object' ? data as Record<string, unknown> : {},
}),
},
),
)
export default router