完整流程-调试

This commit is contained in:
yml
2026-05-03 18:44:44 +08:00
parent 063c3fd8a1
commit 90cb7aa154
25 changed files with 2337 additions and 27 deletions
@@ -11,6 +11,7 @@ import {
getAdminCloudtentaclesAsset,
getAdminCloudtentaclesBindUrl,
getAdminCloudtentaclesCategories,
getAdminKuaishouCloudFulfillmentConfig,
getAdminKuaishouEticketSourceConfig,
getAdminCloudtentaclesKnapsack,
getAdminCloudtentaclesSourceConfig,
@@ -30,6 +31,7 @@ import {
syncAdminKhhaoOrders,
testAdminCloudtentaclesLogin,
testAdminKhhaoLogin,
updateAdminKuaishouCloudFulfillmentConfig,
updateAdminKuaishouEticketSourceConfig,
updateAdminCloudtentaclesSourceConfig,
updateAdminAgisoShopConfigs,
@@ -51,6 +53,7 @@ import { createJsonHandler, requireAdminRoles } from './shared.js'
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouEticketConsumeRouteBody} AdminKuaishouEticketConsumeRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouEticketShopInfoRouteBody} AdminKuaishouEticketShopInfoRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminCloudtentaclesSourceConfigRouteBody} AdminCloudtentaclesSourceConfigRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouCloudFulfillmentConfigRouteBody} AdminKuaishouCloudFulfillmentConfigRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminCloudtentaclesSendSmsCodeRouteBody} AdminCloudtentaclesSendSmsCodeRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminCloudtentaclesTestLoginRouteBody} AdminCloudtentaclesTestLoginRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminCloudtentaclesValidateSessionRouteBody} AdminCloudtentaclesValidateSessionRouteBody */
@@ -579,4 +582,34 @@ router.post('/platform-config/fulfillment-bindings', createJsonHandler(
},
))
router.get('/platform-config/kuaishou-cloud-fulfillment', createJsonHandler(
() => getAdminKuaishouCloudFulfillmentConfig(),
{
successMessage: 'ok',
errorMessage: '读取新履约配置失败',
scope: '[admin/platform-config/kuaishou-cloud-fulfillment]',
},
))
router.post('/platform-config/kuaishou-cloud-fulfillment', createJsonHandler(
(req) => updateAdminKuaishouCloudFulfillmentConfig(/** @type {AdminKuaishouCloudFulfillmentConfigRouteBody} */ (req.body)),
{
successMessage: '新履约配置已保存',
errorMessage: '保存新履约配置失败',
scope: '[admin/platform-config/kuaishou-cloud-fulfillment]',
audit: (_req, data) => {
const result = /** @type {{ filePath?: string, source?: { items?: unknown[] } }} */ (data)
return {
action: 'platform_kuaishou_cloud_fulfillment_updated',
targetType: 'platform_config',
targetId: 'kuaishou_cloud_fulfillment',
data: {
itemCount: Array.isArray(result.source?.items) ? result.source.items.length : 0,
filePath: String(result.filePath || '').trim(),
},
}
},
},
))
export default router
+83
View File
@@ -6,11 +6,14 @@ import {
closeAdminTask,
completeAdminTaskManualDispatch,
confirmAdminTaskAssistedRole,
dispatchAdminTaskKuaishouCloudFulfillment,
markAdminTaskManualReview,
prepareAdminTaskKuaishouCloudFulfillment,
regenerateAdminTaskClaimLink,
redeemAdminTaskAssisted,
releaseAdminTaskInventoryBinding,
releaseAdminTaskInventory,
returnNumberAdminTaskKuaishouCloudFulfillment,
retryAdminTask,
} from '../../services/admin/admin-write-service.js'
import {
@@ -21,6 +24,7 @@ import {
import { createFileHandler, createJsonHandler, requireAdminRoles } from './shared.js'
/** @typedef {import('../../types/admin-route-inputs.js').AdminRouteAdminSession} AdminRouteAdminSession */
/** @typedef {import('../../types/admin-route-inputs.js').AdminTaskKuaishouCloudDispatchRouteBody} AdminTaskKuaishouCloudDispatchRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminTaskManualDispatchRouteBody} AdminTaskManualDispatchRouteBody */
/** @typedef {import('../../types/admin-route-inputs.js').AdminTaskRouteParams} AdminTaskRouteParams */
/** @typedef {import('../../types/admin-route-inputs.js').AdminTaskRouteQuery} AdminTaskRouteQuery */
@@ -270,4 +274,83 @@ router.post('/tasks/:taskId/complete-manual-dispatch', requireAdminRoles(['admin
},
))
router.post('/tasks/:taskId/kuaishou-cloud/prepare', requireAdminRoles(['admin', 'operator']), createJsonHandler(
(req) => prepareAdminTaskKuaishouCloudFulfillment(
(/** @type {AdminTaskRouteParams} */ (req.params)).taskId,
/** @type {AdminRouteAdminSession | null} */ (req.adminSession),
),
{
successMessage: '绑定资源已准备完成',
errorMessage: '准备绑定资源失败',
scope: '[admin/tasks/:taskId/kuaishou-cloud/prepare]',
audit: (req, data) => {
const result = /** @type {AdminTaskActionResponse} */ (data)
return {
action: 'task_kuaishou_cloud_prepare',
targetType: 'task',
targetId: String((/** @type {AdminTaskRouteParams} */ (req.params)).taskId),
data: {
taskId: result.task.taskId,
taskNo: result.task.taskNo,
status: result.task.status,
},
}
},
},
))
router.post('/tasks/:taskId/kuaishou-cloud/dispatch', requireAdminRoles(['admin', 'operator']), createJsonHandler(
(req) => dispatchAdminTaskKuaishouCloudFulfillment(
(/** @type {AdminTaskRouteParams} */ (req.params)).taskId,
/** @type {AdminTaskKuaishouCloudDispatchRouteBody} */ (req.body),
/** @type {AdminRouteAdminSession | null} */ (req.adminSession),
),
{
successMessage: '已完成绑定确认并发货',
errorMessage: '执行发货失败',
scope: '[admin/tasks/:taskId/kuaishou-cloud/dispatch]',
audit: (req, data) => {
const result = /** @type {AdminTaskActionResponse} */ (data)
const body = /** @type {AdminTaskKuaishouCloudDispatchRouteBody} */ (req.body)
return {
action: 'task_kuaishou_cloud_dispatch',
targetType: 'task',
targetId: String((/** @type {AdminTaskRouteParams} */ (req.params)).taskId),
data: {
taskId: result.task.taskId,
taskNo: result.task.taskNo,
status: result.task.status,
deliveryStatus: result.task.deliveryStatus,
ticketCodeProvided: Boolean(String(body.ticketCode || '').trim()),
},
}
},
},
))
router.post('/tasks/:taskId/kuaishou-cloud/return-number', requireAdminRoles(['admin', 'operator']), createJsonHandler(
(req) => returnNumberAdminTaskKuaishouCloudFulfillment(
(/** @type {AdminTaskRouteParams} */ (req.params)).taskId,
/** @type {AdminRouteAdminSession | null} */ (req.adminSession),
),
{
successMessage: '号码已退还',
errorMessage: '退还号码失败',
scope: '[admin/tasks/:taskId/kuaishou-cloud/return-number]',
audit: (req, data) => {
const result = /** @type {AdminTaskActionResponse} */ (data)
return {
action: 'task_kuaishou_cloud_return_number',
targetType: 'task',
targetId: String((/** @type {AdminTaskRouteParams} */ (req.params)).taskId),
data: {
taskId: result.task.taskId,
taskNo: result.task.taskNo,
status: result.task.status,
},
}
},
},
))
export default router