后端迁移后台人工兑换路由
This commit is contained in:
+36
-20
@@ -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',
|
||||
Reference in New Issue
Block a user