简单的定时任务--ok
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
||||
getAdminCloudtentaclesBindUrl,
|
||||
getAdminCloudtentaclesCategories,
|
||||
getAdminNotificationConfig,
|
||||
getAdminScheduledJobsConfig,
|
||||
getAdminKuaishouCloudFulfillmentConfig,
|
||||
getAdminKuaishouEticketSourceConfig,
|
||||
getAdminCloudtentaclesKnapsack,
|
||||
@@ -29,6 +30,7 @@ import {
|
||||
queryAdminKuaishouEticketDetail,
|
||||
retryAdminNinetyoneOrder,
|
||||
runAdminCloudtentaclesFullFlow,
|
||||
runAdminScheduledJobNow,
|
||||
sendAdminCloudtentaclesSmsCode,
|
||||
testAdminNotification,
|
||||
testAdminCloudtentaclesLogin,
|
||||
@@ -36,6 +38,7 @@ import {
|
||||
updateAdminKuaishouEticketSourceConfig,
|
||||
updateAdminCloudtentaclesSourceConfig,
|
||||
updateAdminNotificationConfig,
|
||||
updateAdminScheduledJobsConfig,
|
||||
updateAdminAgisoShopConfigs,
|
||||
updateAdminFulfillmentBindingConfigs,
|
||||
verifyAdminCloudtentaclesLoginCode,
|
||||
@@ -50,6 +53,7 @@ import { createJsonHandler, requireAdminRoles } from './shared.js'
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminKuaishouEticketSourceConfigRouteBody} AdminKuaishouEticketSourceConfigRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminNotificationConfigRouteBody} AdminNotificationConfigRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminNotificationTestRouteBody} AdminNotificationTestRouteBody */
|
||||
/** @typedef {import('../../types/admin-route-inputs.js').AdminScheduledJobsConfigRouteBody} AdminScheduledJobsConfigRouteBody */
|
||||
/** @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 */
|
||||
@@ -154,6 +158,58 @@ router.post('/platform-config/notifications/test', createJsonHandler(
|
||||
},
|
||||
))
|
||||
|
||||
router.get('/platform-config/scheduled-jobs', createJsonHandler(
|
||||
() => getAdminScheduledJobsConfig(),
|
||||
{
|
||||
successMessage: 'ok',
|
||||
errorMessage: '读取定时任务配置失败',
|
||||
scope: '[admin/platform-config/scheduled-jobs]',
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/scheduled-jobs', createJsonHandler(
|
||||
(req) => updateAdminScheduledJobsConfig(/** @type {AdminScheduledJobsConfigRouteBody} */ (req.body)),
|
||||
{
|
||||
successMessage: '定时任务配置已保存',
|
||||
errorMessage: '保存定时任务配置失败',
|
||||
scope: '[admin/platform-config/scheduled-jobs]',
|
||||
audit: (_req, data) => {
|
||||
const result = /** @type {{ filePath?: string, source?: { enabled?: boolean, jobs?: unknown[] } }} */ (data)
|
||||
return {
|
||||
action: 'platform_scheduled_jobs_updated',
|
||||
targetType: 'platform_config',
|
||||
targetId: 'scheduled_jobs',
|
||||
data: {
|
||||
filePath: String(result.filePath || '').trim(),
|
||||
enabled: Boolean(result.source?.enabled),
|
||||
jobCount: Array.isArray(result.source?.jobs) ? result.source.jobs.length : 0,
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.post('/platform-config/scheduled-jobs/:id/run', createJsonHandler(
|
||||
(req) => runAdminScheduledJobNow((/** @type {AdminEntityRouteParams} */ (req.params)).id),
|
||||
{
|
||||
successMessage: '定时任务已执行',
|
||||
errorMessage: '执行定时任务失败',
|
||||
scope: '[admin/platform-config/scheduled-jobs/:id/run]',
|
||||
audit: (req, data) => {
|
||||
const result = /** @type {{ result?: { status?: string, message?: string } }} */ (data)
|
||||
return {
|
||||
action: 'platform_scheduled_job_run',
|
||||
targetType: 'platform_config',
|
||||
targetId: String((/** @type {AdminEntityRouteParams} */ (req.params)).id || '').trim(),
|
||||
data: {
|
||||
status: String(result.result?.status || '').trim(),
|
||||
message: String(result.result?.message || '').trim(),
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
))
|
||||
|
||||
router.get('/platform-config/kuaishou-eticket-source', createJsonHandler(
|
||||
() => getAdminKuaishouEticketSourceConfig(),
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user