快手小店-核销--ok
This commit is contained in:
@@ -10,20 +10,25 @@ import {
|
||||
getAdminCloudtentaclesAsset,
|
||||
getAdminCloudtentaclesBindUrl,
|
||||
getAdminCloudtentaclesCategories,
|
||||
getAdminKuaishouEticketSourceConfig,
|
||||
getAdminCloudtentaclesKnapsack,
|
||||
getAdminCloudtentaclesSourceConfig,
|
||||
getAdminCloudtentaclesSkuList,
|
||||
getAdminAgisoShopConfigs,
|
||||
getAdminFulfillmentBindingConfigs,
|
||||
getAdminKhhaoSourceConfig,
|
||||
consumeAdminKuaishouEticket,
|
||||
listAdminCloudtentaclesVirtualNumbers,
|
||||
lookupAdminFulfillmentBindingOrder,
|
||||
queryAdminKuaishouEticketShopInfo,
|
||||
queryAdminKuaishouEticketDetail,
|
||||
queryAdminKhhaoOrders,
|
||||
runAdminCloudtentaclesFullFlow,
|
||||
sendAdminCloudtentaclesSmsCode,
|
||||
syncAdminKhhaoOrders,
|
||||
testAdminCloudtentaclesLogin,
|
||||
testAdminKhhaoLogin,
|
||||
updateAdminKuaishouEticketSourceConfig,
|
||||
updateAdminCloudtentaclesSourceConfig,
|
||||
updateAdminAgisoShopConfigs,
|
||||
updateAdminKhhaoSourceConfig,
|
||||
@@ -39,6 +44,10 @@ import { createJsonHandler, requireAdminRoles } from './shared.js'
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKhhaoOrderQueryRouteBody} AdminKhhaoOrderQueryRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKhhaoSourceConfigRouteBody} AdminKhhaoSourceConfigRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKhhaoTestLoginRouteBody} AdminKhhaoTestLoginRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouEticketSourceConfigRouteBody} AdminKuaishouEticketSourceConfigRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouEticketDetailQueryRouteBody} AdminKuaishouEticketDetailQueryRouteBody */
|
||||
/** @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').AdminCloudtentaclesSendSmsCodeRouteBody} AdminCloudtentaclesSendSmsCodeRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminCloudtentaclesTestLoginRouteBody} AdminCloudtentaclesTestLoginRouteBody */
|
||||
@@ -83,6 +92,37 @@ router.post('/platform-config/agiso-shops', createJsonHandler(
|
||||
},
|
||||
))
|
||||
|
||||
router.get('/platform-config/kuaishou-eticket-source', createJsonHandler(
|
||||
() => getAdminKuaishouEticketSourceConfig(),
|
||||
{
|
||||
successMessage: 'ok',
|
||||
errorMessage: '读取快手小店核销配置失败',
|
||||
scope: '[admin/platform-config/kuaishou-eticket-source]',
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/kuaishou-eticket-source', createJsonHandler(
|
||||
(req) => updateAdminKuaishouEticketSourceConfig(/** @type {AdminKuaishouEticketSourceConfigRouteBody} */ (req.body)),
|
||||
{
|
||||
successMessage: '快手小店核销配置已保存',
|
||||
errorMessage: '保存快手小店核销配置失败',
|
||||
scope: '[admin/platform-config/kuaishou-eticket-source]',
|
||||
audit: (_req, data) => {
|
||||
const result = /** @type {{ filePath?: string, source?: { enabled?: boolean, shops?: unknown[] } }} */ (data)
|
||||
return {
|
||||
action: 'platform_kuaishou_eticket_source_updated',
|
||||
targetType: 'platform_config',
|
||||
targetId: 'kuaishou_eticket_source',
|
||||
data: {
|
||||
filePath: String(result.filePath || '').trim(),
|
||||
enabled: Boolean(result.source?.enabled),
|
||||
shopCount: Array.isArray(result.source?.shops) ? result.source.shops.length : 0,
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.get('/platform-config/khhao-source', createJsonHandler(
|
||||
() => getAdminKhhaoSourceConfig(),
|
||||
{
|
||||
@@ -188,6 +228,75 @@ router.post('/platform-config/khhao/sync-orders', createJsonHandler(
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/kuaishou-eticket/query-detail', createJsonHandler(
|
||||
(req) => queryAdminKuaishouEticketDetail(/** @type {AdminKuaishouEticketDetailQueryRouteBody} */ (req.body)),
|
||||
{
|
||||
successMessage: '快手小店核销信息查询成功',
|
||||
errorMessage: '查询快手小店核销信息失败',
|
||||
scope: '[admin/platform-config/kuaishou-eticket/query-detail]',
|
||||
audit: (req, data) => {
|
||||
const body = /** @type {AdminKuaishouEticketDetailQueryRouteBody} */ (req.body)
|
||||
const result = /** @type {{ eTicketId?: string, result?: number, ok?: boolean, alreadyConsumed?: boolean }} */ (data)
|
||||
return {
|
||||
action: 'platform_kuaishou_eticket_query_detail',
|
||||
targetType: 'platform_config',
|
||||
targetId: String(result.eTicketId || body.eTicketId || '').trim() || 'kuaishou_eticket',
|
||||
data: {
|
||||
result: Number(result.result || 0),
|
||||
ok: Boolean(result.ok),
|
||||
alreadyConsumed: Boolean(result.alreadyConsumed),
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/kuaishou-eticket/query-shop-info', createJsonHandler(
|
||||
(req) => queryAdminKuaishouEticketShopInfo(/** @type {AdminKuaishouEticketShopInfoRouteBody} */ (req.body)),
|
||||
{
|
||||
successMessage: '快手小店店铺信息查询成功',
|
||||
errorMessage: '查询快手小店店铺信息失败',
|
||||
scope: '[admin/platform-config/kuaishou-eticket/query-shop-info]',
|
||||
audit: (req, data) => {
|
||||
const body = /** @type {AdminKuaishouEticketShopInfoRouteBody} */ (req.body)
|
||||
const result = /** @type {{ shop?: { shopId?: string, kshopName?: string }, result?: number, ok?: boolean }} */ (data)
|
||||
return {
|
||||
action: 'platform_kuaishou_eticket_query_shop_info',
|
||||
targetType: 'platform_config',
|
||||
targetId: String(result.shop?.shopId || body.shopId || '').trim() || 'kuaishou_eticket_shop_info',
|
||||
data: {
|
||||
result: Number(result.result || 0),
|
||||
ok: Boolean(result.ok),
|
||||
kshopName: String(result.shop?.kshopName || '').trim(),
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/kuaishou-eticket/consume', createJsonHandler(
|
||||
(req) => consumeAdminKuaishouEticket(/** @type {AdminKuaishouEticketConsumeRouteBody} */ (req.body)),
|
||||
{
|
||||
successMessage: '快手小店核销请求已执行',
|
||||
errorMessage: '执行快手小店核销失败',
|
||||
scope: '[admin/platform-config/kuaishou-eticket/consume]',
|
||||
audit: (req, data) => {
|
||||
const body = /** @type {AdminKuaishouEticketConsumeRouteBody} */ (req.body)
|
||||
const result = /** @type {{ eTicketId?: string, result?: number, consumed?: boolean, alreadyConsumed?: boolean }} */ (data)
|
||||
return {
|
||||
action: 'platform_kuaishou_eticket_consume',
|
||||
targetType: 'platform_config',
|
||||
targetId: String(result.eTicketId || body.eTicketId || '').trim() || 'kuaishou_eticket',
|
||||
data: {
|
||||
result: Number(result.result || 0),
|
||||
consumed: Boolean(result.consumed),
|
||||
alreadyConsumed: Boolean(result.alreadyConsumed),
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.get('/platform-config/cloudtentacles-source', createJsonHandler(
|
||||
() => getAdminCloudtentaclesSourceConfig(),
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user