- 新增 SyncProgress 实体类、ISyncProgressService 接口和 SyncProgressServiceImpl 实现类 - 在 DataiIntegrationObjectController 中添加 6 个进度查询接口: - 查询指定对象的同步进度 - 查询所有正在同步的对象进度 - 查询指定对象的插入进度 - 查询所有正在插入的对象进度 - 查询指定对象的更新进度 - 查询所有正在更新的对象进度 - 在 DataiIntegrationObjectServiceImpl 中集成进度跟踪功能: - syncFullData 方法集成同步进度跟踪 - syncIncrementalData 方法集成同步进度跟踪 - insertObjectDataToTarget 方法集成插入进度跟踪 - updateObjectDataToTarget 方法集成更新进度跟踪 - 进度信息存储在内存中(ConcurrentHashMap),任务完成后立即清除 - 新增 3 个需求文档(REQ-002、REQ-003、REQ-004) - 新增 3 个架构决策记录(0002、0003、0004) - 新增 3 个提示词文件(002、003、004) - 新增 3 个会话记录 - 新增 3 个变更记录(0012、0013、0014) - 新增 3 个复盘报告 - 新增 6 个 API 文档 - 更新 CHANGELOG.md 和 docs/index.md
3.9 KiB
3.9 KiB
查询所有正在更新的对象进度
接口信息
- 接口名称: 查询所有正在更新的对象进度
- 接口路径:
/integration/object/updateProgress - 请求方法: GET
- 接口描述: 该方法用于查询所有正在更新的对象进度信息。只返回状态为 RUNNING 的进度信息,不包括已完成或失败的进度信息。如果没有任何对象正在更新,返回空列表。
请求参数
无
请求示例
GET /integration/object/updateProgress
响应参数
响应格式
{
"code": 200,
"msg": "操作成功",
"data": [
{
"objectId": 123,
"syncType": "UPDATE",
"totalBatches": 10,
"processedBatches": 5,
"currentBatch": 5,
"progressPercentage": 50,
"startTime": "2026-01-16 10:00:00",
"endTime": null,
"status": "RUNNING",
"errorMessage": null
},
{
"objectId": 124,
"syncType": "UPDATE",
"totalBatches": 5,
"processedBatches": 2,
"currentBatch": 2,
"progressPercentage": 40,
"startTime": "2026-01-16 10:05:00",
"endTime": null,
"status": "RUNNING",
"errorMessage": null
}
]
}
响应字段说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,200表示成功,其他表示失败 |
| msg | String | 响应消息,成功时返回"操作成功",失败时返回错误信息 |
| data | Array | 响应数据,包含所有正在更新的对象进度列表 |
| data[].objectId | Integer | 对象ID |
| data[].syncType | String | 更新类型(UPDATE) |
| data[].totalBatches | Integer | 总批次数量 |
| data[].processedBatches | Integer | 已处理批次数量 |
| data[].currentBatch | Integer | 当前批次 |
| data[].progressPercentage | Integer | 进度百分比(0-100) |
| data[].startTime | String | 开始时间,格式:yyyy-MM-dd HH:mm:ss |
| data[].endTime | String | 结束时间,格式:yyyy-MM-dd HH:mm:ss,更新进行中时为null |
| data[].status | String | 状态(RUNNING/COMPLETED/FAILED) |
| data[].errorMessage | String | 错误信息,更新成功时为null |
响应示例(无正在更新的对象)
{
"code": 200,
"msg": "操作成功",
"data": []
}
响应示例(失败)
{
"code": 500,
"msg": "查询所有正在更新的对象进度时发生异常: [异常信息]",
"data": null
}
权限要求
- 权限标识:
integration:object:progress - 说明: 需要登录认证,且用户需要具有查询对象更新进度的权限
业务规则
- 只返回状态为 RUNNING 的进度信息,不包括已完成或失败的进度信息
- 如果没有任何对象正在更新,返回空列表
- 进度信息存储在内存中,系统重启后进度信息丢失
- 更新任务完成后立即清除进度信息,不保留历史记录
异常处理
| 异常场景 | 响应码 | 响应消息 |
|---|---|---|
| 查询进度时发生异常 | 500 | 查询所有正在更新的对象进度时发生异常: [异常信息] |
使用场景
- 管理员监控所有正在更新的对象进度
- 前端页面定时轮询该接口,实时显示所有正在更新的对象进度
- 系统监控和告警,当更新进度长时间未更新时发出告警
注意事项
- 该接口只返回正在进行的更新任务,不包括已完成或失败的更新任务
- 如果返回空列表,说明当前没有任何对象正在更新
- 进度百分比计算公式:progressPercentage = (processedBatches / totalBatches) * 100
- 建议前端页面定时轮询该接口,轮询间隔建议为 1-5 秒
相关接口
- 查询指定对象的更新进度 - 查询指定对象的更新进度信息
- 对象数据更新目标系统 - 将本地数据库中的指定对象数据更新到目标Salesforce系统