查询指定对象的同步进度
接口信息
- 接口名称: 查询指定对象的同步进度
- 接口路径:
/integration/object/progress/{id}
- 请求方法: GET
- 接口描述: 该方法用于查询指定对象的同步进度信息。进度信息包括:对象ID、同步类型、总批次数量、已处理批次数量、当前批次、进度百分比、开始时间、结束时间、状态、错误信息。如果同步任务已完成或失败,进度信息会被清除,此时无法查询到进度信息。
请求参数
路径参数
| 参数名 |
类型 |
必填 |
说明 |
| id |
Integer |
是 |
对象ID,用于标识需要查询同步进度的对象 |
请求示例
GET /integration/object/progress/123
响应参数
响应格式
{
"code": 200,
"msg": "操作成功",
"data": {
"objectId": 123,
"syncType": "FULL",
"totalBatches": 10,
"processedBatches": 5,
"currentBatch": 5,
"progressPercentage": 50,
"startTime": "2026-01-16 10:00:00",
"endTime": null,
"status": "RUNNING",
"errorMessage": null
}
}
响应字段说明
| 字段名 |
类型 |
说明 |
| code |
Integer |
响应状态码,200表示成功,其他表示失败 |
| msg |
String |
响应消息,成功时返回"操作成功",失败时返回错误信息 |
| data |
Object |
响应数据,包含同步进度信息 |
| data.objectId |
Integer |
对象ID |
| data.syncType |
String |
同步类型(FULL/INCREMENTAL) |
| 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": 500,
"msg": "未找到同步进度信息",
"data": null
}
权限要求
- 权限标识:
integration:object:progress
- 说明: 需要登录认证,且用户需要具有查询对象同步进度的权限
业务规则
- 如果对象ID为空,返回错误信息"对象ID不能为空"
- 如果未找到同步进度信息(同步任务已完成或失败),返回错误信息"未找到同步进度信息"
- 进度信息存储在内存中,系统重启后进度信息丢失
- 同步任务完成后立即清除进度信息,不保留历史记录
异常处理
| 异常场景 |
响应码 |
响应消息 |
| 对象ID为空 |
500 |
对象ID不能为空 |
| 未找到同步进度信息 |
500 |
未找到同步进度信息 |
| 查询进度时发生异常 |
500 |
查询对象同步进度时发生异常: [异常信息] |
使用场景
- 用户触发对象同步后,通过该接口查询同步进度
- 前端页面定时轮询该接口,实时显示同步进度
- 管理员监控多个对象的同步进度
注意事项
- 进度信息仅在同步进行中存在,同步完成后会被清除
- 如果查询到进度信息,说明同步正在进行中
- 如果未查询到进度信息,说明同步已完成或失败,或者从未触发过同步
- 进度百分比计算公式:progressPercentage = (processedBatches / totalBatches) * 100
相关接口