后端迁移后台人工兑换路由

This commit is contained in:
yml
2026-05-21 17:23:40 +08:00
parent 18057d0eea
commit 105504fdc4
2 changed files with 43 additions and 20 deletions
@@ -1,5 +1,3 @@
// @ts-check
import { Router } from 'express'
import {
@@ -15,10 +13,28 @@ import {
} from '../../services/admin/admin-manual-redeem-service.js'
import { getAdminInventorySkuSuggestions } from '../../services/admin/admin-read-service.js'
import { createJsonHandler, requireAdminRoles } from './shared.js'
import type {
AdminInventorySkuSuggestionRouteQuery,
AdminManualRedeemCreateRouteBody,
AdminManualRedeemRouteParams,
} from '../../types/admin-route-inputs.js'
/** @typedef {import('../../types/admin-route-inputs.js').AdminInventorySkuSuggestionRouteQuery} AdminInventorySkuSuggestionRouteQuery */
/** @typedef {import('../../types/admin-route-inputs.js').AdminManualRedeemCreateRouteBody} AdminManualRedeemCreateRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminManualRedeemRouteParams} AdminManualRedeemRouteParams */
type AdminManualRedeemSessionRouteBody = {
loginType?: string
forceRecreate?: boolean
}
type AdminManualRedeemMutationResult = {
task?: {
taskId?: number
taskNo?: string
status?: string
deliveryStatus?: string
}
manualRequest?: { proofValue?: string }
order?: { platformOrderId?: string }
orderItem?: { skuCode?: string }
}
const router = Router()
@@ -26,7 +42,7 @@ router.use('/manual-redeem', requireAdminRoles(['admin', 'operator', 'support'])
router.get('/manual-redeem/sku-suggestions', createJsonHandler(
(req) => getAdminInventorySkuSuggestions(
/** @type {AdminInventorySkuSuggestionRouteQuery} */ (req.query),
req.query as AdminInventorySkuSuggestionRouteQuery,
req.adminSession || null,
),
{
@@ -38,7 +54,7 @@ router.get('/manual-redeem/sku-suggestions', createJsonHandler(
router.post('/manual-redeem', createJsonHandler(
(req) => createAdminManualRedeemTask(
/** @type {AdminManualRedeemCreateRouteBody} */ (req.body),
req.body as AdminManualRedeemCreateRouteBody,
req.adminSession || null,
),
{
@@ -46,7 +62,7 @@ router.post('/manual-redeem', createJsonHandler(
errorMessage: '创建人工兑换任务失败',
scope: '[admin/manual-redeem]',
audit: (req, data) => {
const result = /** @type {{ task?: { taskId?: number, taskNo?: string }, manualRequest?: { proofValue?: string }, order?: { platformOrderId?: string }, orderItem?: { skuCode?: string } }} */ (data)
const result = data as AdminManualRedeemMutationResult
return {
action: 'manual_redeem_created',
targetType: 'task',
@@ -64,7 +80,7 @@ router.post('/manual-redeem', createJsonHandler(
router.get('/manual-redeem/:taskId', createJsonHandler(
(req) => getAdminManualRedeemDetail(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -76,8 +92,8 @@ router.get('/manual-redeem/:taskId', createJsonHandler(
router.post('/manual-redeem/:taskId/session', createJsonHandler(
(req) => createAdminManualRedeemSession(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
/** @type {{ loginType?: string, forceRecreate?: boolean }} */ (req.body),
(req.params as AdminManualRedeemRouteParams).taskId,
req.body as AdminManualRedeemSessionRouteBody,
req.adminSession || null,
),
{
@@ -89,7 +105,7 @@ router.post('/manual-redeem/:taskId/session', createJsonHandler(
router.get('/manual-redeem/:taskId/session/summary', createJsonHandler(
(req) => getAdminManualRedeemSessionSummary(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -101,7 +117,7 @@ router.get('/manual-redeem/:taskId/session/summary', createJsonHandler(
router.post('/manual-redeem/:taskId/session/refresh', createJsonHandler(
(req) => reloadAdminManualRedeemSession(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -113,7 +129,7 @@ router.post('/manual-redeem/:taskId/session/refresh', createJsonHandler(
router.delete('/manual-redeem/:taskId/session', createJsonHandler(
(req) => closeAdminManualRedeemSession(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -125,7 +141,7 @@ router.delete('/manual-redeem/:taskId/session', createJsonHandler(
router.post('/manual-redeem/:taskId/confirm-role', createJsonHandler(
(req) => confirmAdminManualRedeemRole(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -133,7 +149,7 @@ router.post('/manual-redeem/:taskId/confirm-role', createJsonHandler(
errorMessage: '确认人工兑换角色失败',
scope: '[admin/manual-redeem/:taskId/confirm-role]',
audit: (req, data) => {
const result = /** @type {{ task?: { taskId?: number, taskNo?: string, status?: string } }} */ (data)
const result = data as AdminManualRedeemMutationResult
return {
action: 'manual_redeem_role_confirmed',
targetType: 'task',
@@ -150,7 +166,7 @@ router.post('/manual-redeem/:taskId/confirm-role', createJsonHandler(
router.post('/manual-redeem/:taskId/redeem', createJsonHandler(
(req) => redeemAdminManualRedeemTask(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -158,7 +174,7 @@ router.post('/manual-redeem/:taskId/redeem', createJsonHandler(
errorMessage: '执行人工兑换失败',
scope: '[admin/manual-redeem/:taskId/redeem]',
audit: (req, data) => {
const result = /** @type {{ task?: { taskId?: number, taskNo?: string, status?: string, deliveryStatus?: string } }} */ (data)
const result = data as AdminManualRedeemMutationResult
return {
action: 'manual_redeem_started',
targetType: 'task',
@@ -176,7 +192,7 @@ router.post('/manual-redeem/:taskId/redeem', createJsonHandler(
router.post('/manual-redeem/:taskId/close', createJsonHandler(
(req) => closeAdminManualRedeemTask(
(/** @type {AdminManualRedeemRouteParams} */ (req.params)).taskId,
(req.params as AdminManualRedeemRouteParams).taskId,
req.adminSession || null,
),
{
@@ -184,7 +200,7 @@ router.post('/manual-redeem/:taskId/close', createJsonHandler(
errorMessage: '关闭人工兑换任务失败',
scope: '[admin/manual-redeem/:taskId/close]',
audit: (req, data) => {
const result = /** @type {{ task?: { taskId?: number, taskNo?: string, status?: string } }} */ (data)
const result = data as AdminManualRedeemMutationResult
return {
action: 'manual_redeem_closed',
targetType: 'task',