优化快手电子凭证发码和手动处理

This commit is contained in:
yml2213
2026-07-08 17:28:01 +08:00
parent 647f038061
commit 3ad7c2e50e
17 changed files with 761 additions and 10 deletions
+30 -2
View File
@@ -1,7 +1,8 @@
import { Router } from 'express'
import { getAdminOrderDetail, getAdminOrders } from '../../services/admin/admin-read-service.js'
import { createJsonHandler } from './session.js'
import { resendAdminOrderKuaishouIndustryVoucherCodes } from '../../services/admin/write/kuaishou-cloud-actions.js'
import { createJsonHandler, requireAdminRoles } from './session.js'
import type {
AdminOrderRouteParams,
AdminOrderRouteQuery,
@@ -19,7 +20,11 @@ router.get('/orders', createJsonHandler(
))
router.get('/orders/:orderId', createJsonHandler(
(req) => getAdminOrderDetail(String((req.params as AdminOrderRouteParams).orderId || '')),
(req) =>
getAdminOrderDetail(
String((req.params as AdminOrderRouteParams).orderId || ''),
req.adminSession || null,
),
{
successMessage: 'ok',
errorMessage: '读取订单详情失败',
@@ -27,4 +32,27 @@ router.get('/orders/:orderId', createJsonHandler(
},
))
router.post(
'/orders/:orderId/kuaishou-industry/resend-code',
requireAdminRoles(['admin', 'operator']),
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
+37
View File
@@ -4,15 +4,18 @@ import { Router } from 'express'
import { getAdminTaskDetail, getAdminTasks } from '../../services/admin/admin-read-service.js'
import { closeAdminTask } from '../../services/admin/write/task-actions.js'
import {
consumeAdminTaskKuaishouIndustryVoucher,
dispatchAdminTaskKuaishouCloudFulfillment,
prepareAdminTaskKuaishouCloudFulfillment,
rebindAdminTaskKuaishouCloudRole,
refreshAdminTaskKuaishouCloudRoleInfo,
resendAdminTaskKuaishouIndustryVoucherCode,
returnNumberAdminTaskKuaishouCloudFulfillment,
} from '../../services/admin/write/kuaishou-cloud-actions.js'
import { createJsonHandler, requireAdminRoles } from './session.js'
import type {
AdminTaskKuaishouCloudDispatchRouteBody,
AdminTaskKuaishouIndustryConsumeRouteBody,
AdminTaskRouteParams,
AdminTaskRouteQuery,
} from '../../types/admin/route-inputs.js'
@@ -148,6 +151,40 @@ router.post(
),
)
router.post(
'/tasks/:taskId/kuaishou-industry/resend-code',
requireAdminRoles(['admin', 'operator']),
createJsonHandler(
(req) =>
resendAdminTaskKuaishouIndustryVoucherCode(getTaskId(req), req.adminSession || null),
{
successMessage: '电子凭证发码回调已重发',
errorMessage: '重发电子凭证发码回调失败',
scope: '[admin/tasks/:taskId/kuaishou-industry/resend-code]',
audit: (req, data) => buildTaskAudit('task_kuaishou_industry_resend_code', req, data),
},
),
)
router.post(
'/tasks/:taskId/kuaishou-industry/consume',
requireAdminRoles(['admin', 'operator']),
createJsonHandler(
(req) =>
consumeAdminTaskKuaishouIndustryVoucher(
getTaskId(req),
req.body as AdminTaskKuaishouIndustryConsumeRouteBody,
req.adminSession || null,
),
{
successMessage: '电子凭证已执行核销',
errorMessage: '执行电子凭证核销失败',
scope: '[admin/tasks/:taskId/kuaishou-industry/consume]',
audit: (req, data) => buildTaskAudit('task_kuaishou_industry_consume', req, data),
},
),
)
function buildTaskAudit(action: string, req: Request, data: unknown) {
const result = data as AdminTaskActionResponse