# 查询所有正在更新的对象进度

## 接口信息

- **接口名称**: 查询所有正在更新的对象进度
- **接口路径**: `/integration/object/updateProgress`
- **请求方法**: GET
- **接口描述**: 该方法用于查询所有正在更新的对象进度信息。只返回状态为 RUNNING 的进度信息，不包括已完成或失败的进度信息。如果没有任何对象正在更新，返回空列表。

## 请求参数

无

### 请求示例

```http
GET /integration/object/updateProgress
```

## 响应参数

### 响应格式

```json
{
  "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 |

### 响应示例（无正在更新的对象）

```json
{
  "code": 200,
  "msg": "操作成功",
  "data": []
}
```

### 响应示例（失败）

```json
{
  "code": 500,
  "msg": "查询所有正在更新的对象进度时发生异常: [异常信息]",
  "data": null
}
```

## 权限要求

- **权限标识**: `integration:object:progress`
- **说明**: 需要登录认证，且用户需要具有查询对象更新进度的权限

## 业务规则

1. 只返回状态为 RUNNING 的进度信息，不包括已完成或失败的进度信息
2. 如果没有任何对象正在更新，返回空列表
3. 进度信息存储在内存中，系统重启后进度信息丢失
4. 更新任务完成后立即清除进度信息，不保留历史记录

## 异常处理

| 异常场景 | 响应码 | 响应消息 |
|----------|---------|----------|
| 查询进度时发生异常 | 500 | 查询所有正在更新的对象进度时发生异常: [异常信息] |

## 使用场景

1. 管理员监控所有正在更新的对象进度
2. 前端页面定时轮询该接口，实时显示所有正在更新的对象进度
3. 系统监控和告警，当更新进度长时间未更新时发出告警

## 注意事项

1. 该接口只返回正在进行的更新任务，不包括已完成或失败的更新任务
2. 如果返回空列表，说明当前没有任何对象正在更新
3. 进度百分比计算公式：progressPercentage = (processedBatches / totalBatches) * 100
4. 建议前端页面定时轮询该接口，轮询间隔建议为 1-5 秒

## 相关接口

- [查询指定对象的更新进度](0014-query-update-progress.md) - 查询指定对象的更新进度信息
- [对象数据更新目标系统](0011-update-object-data-to-target.md) - 将本地数据库中的指定对象数据更新到目标Salesforce系统
