datai/datai-scenes/datai-scene-salesforce/docs/api-docs/monitor/SysJobController/0006-change-status.md
Kris ccc7109c31 feat(salesforce-integration): 完善实时同步和统计功能
主要变更:
- 新增实时同步日志统计接口,支持多维度统计(综合、对象、操作类型、状态、时间趋势)
- 新增实时同步统计接口,提供服务状态、对象统计和订阅统计
- 实现实时服务手动启动管理,移除自动启动注解
- 移除所有统计相关功能(EventProcessor、DataSynchronizer统计方法)
- 解决DataiIntegrationObjectServiceImpl和ObjectRegistryImpl循环依赖问题
- 完善元数据变更统计功能,支持自动时间范围和缺失数据点填充
- 修复SQL布尔值兼容性问题(true/false改为1/0)
- 新增SysJobController和SysJobLogController接口文档
- 更新项目文档和变更日志

技术细节:
- 添加@Lazy注解解决循环依赖
- 实现时间趋势统计的自动时间范围处理
- 支持多种时间单位(天、周、月、季度)的趋势分析
- 优化同步成功率计算和数据处理完整性
- 遵循项目文档规范,更新唯一真源
2026-01-13 13:51:33 +08:00

3.9 KiB
Raw Blame History

接口文档 - 修改定时任务状态

接口信息

  • 接口名称: 修改定时任务状态
  • 接口路径: /monitor/job/changeStatus
  • 请求方法: PUT
  • 模块归属: 定时任务管理
  • 版本号: v1.0
  • 创建日期: 2026-01-13
  • 最后更新: 2026-01-13

功能描述

修改定时任务的执行状态,可以暂停或恢复任务的执行。状态修改后会立即在 Quartz 调度器中生效。

请求参数

请求体 (JSON)

{
  "jobId": 1,
  "status": "0"
}
参数名 类型 必填 描述 示例
jobId Long 任务ID 1
status String 任务状态0正常 1暂停 0

status 参数说明:

  • 0: 正常状态任务会按照Cron表达式正常执行
  • 1: 暂停状态,任务不会执行

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}
字段名 类型 描述 示例
code Integer 响应码 200
msg String 响应消息 操作成功
data Integer 影响行数 1

失败响应

HTTP 状态码: 500 Internal Server Error

{
  "code": 500,
  "msg": "任务不存在",
  "data": null
}
错误码 错误信息 描述
500 任务不存在 指定的任务ID不存在
403 没有权限访问 当前用户没有 monitor:job:changeStatus 权限

接口示例

请求示例

# 恢复任务执行
curl -X PUT "http://localhost:8080/monitor/job/changeStatus" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{
    "jobId": 1,
    "status": "0"
  }'

# 暂停任务执行
curl -X PUT "http://localhost:8080/monitor/job/changeStatus" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{
    "jobId": 1,
    "status": "1"
  }'

响应示例

成功:

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}

失败:

{
  "code": 500,
  "msg": "任务不存在",
  "data": null
}

错误处理

  • 当任务ID不存在时返回 500 错误
  • 当用户没有 monitor:job:changeStatus 权限时,返回 403 错误
  • 状态值必须是 "0" 或 "1"
  • 状态修改操作会被记录在系统日志中

注意事项

  • 需要登录认证
  • 需要 monitor:job:changeStatus 权限
  • jobId 必须是有效的任务ID
  • status 只能是 "0"(正常)或 "1"(暂停)
  • 状态修改会立即生效
  • 暂停任务不会删除任务,只是停止执行
  • 恢复任务会立即按照Cron表达式开始执行
  • 修改操作会被记录在系统日志中

相关接口

实现细节

  • 通过 ISysJobService.selectJobById() 方法查询任务信息
  • 通过 ISysJobService.changeStatus() 方法修改任务状态
  • 状态修改后会立即同步到Quartz调度器
  • 暂停任务时会停止Quartz中的Job
  • 恢复任务时会恢复Quartz中的Job
  • 使用 @Log 注解记录状态修改操作

测试信息

测试环境

  • 环境: 开发环境
  • 版本: v1.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
恢复任务 status=0 任务恢复执行 任务恢复执行 通过
暂停任务 status=1 任务暂停执行 任务暂停执行 通过
任务不存在 jobId=9999 返回500错误 返回500错误 通过
无效状态 status=2 返回500错误 返回500错误 通过
无权限访问 无权限用户 返回403错误 返回403错误 通过