datai/docs/archive/api-docs/integration/DataiIntegrationMetadataChangeController/0003-update-sync-status.md

148 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 接口文档:批量更新元数据变更同步状态
## 接口信息
- **接口名称**: 批量更新元数据变更同步状态
- **接口路径**: /integration/change/syncStatus
- **请求方法**: PUT
- **模块归属**: integration
- **版本号**: v1.0
- **创建日期**: 2026-01-09
- **最后更新**: 2026-01-09
## 功能描述
批量更新元数据变更的同步状态,包括同步状态、同步错误信息等。
## 请求参数
### 请求体 (JSON)
```json
{
"ids": [1, 2, 3],
"syncStatus": 1,
"syncErrorMessage": "同步成功"
}
```
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| ids | Array<Long> | 是 | 元数据变更ID数组 | [1, 2, 3] |
| syncStatus | Integer | 是 | 同步状态0-未同步1-已同步2-同步失败 | 1 |
| syncErrorMessage | String | 否 | 同步错误信息 | 同步成功 |
## 响应数据
### 成功响应
**HTTP 状态码**: 200 OK
```json
{
"code": 200,
"message": "操作成功",
"data": 3
}
```
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| code | Integer | 响应状态码 | 200 |
| message | String | 响应消息 | 操作成功 |
| data | Integer | 更新成功的记录数 | 3 |
### 失败响应
**HTTP 状态码**: 403 Forbidden
```json
{
"code": 403,
"message": "无权限执行此操作",
"data": null
}
```
| 错误码 | 错误信息 | 描述 |
|--------|----------|------|
| 400 | 参数错误 | 请求参数格式错误 |
| 403 | 无权限执行此操作 | 当用户没有integration:change:updateSync权限时 |
| 500 | 更新失败 | 服务器内部错误导致更新失败 |
## 接口示例
### 请求示例
```bash
curl -X PUT "http://localhost:8080/integration/change/syncStatus" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer [token]" \
-d '{
"ids": [1, 2, 3],
"syncStatus": 1,
"syncErrorMessage": "同步成功"
}'
```
### 响应示例
**成功**:
```json
{
"code": 200,
"message": "操作成功",
"data": 3
}
```
**失败**:
```json
{
"code": 403,
"message": "无权限执行此操作",
"data": null
}
```
## 错误处理
- **400 Bad Request**: 请求参数格式错误
- **403 Forbidden**: 用户无权限执行此操作
- **500 Internal Server Error**: 服务器内部错误导致更新失败
## 注意事项
- 此接口用于批量更新元数据变更的同步状态
- syncStatus参数支持以下值0-未同步1-已同步2-同步失败
- 当syncStatus为2时建议提供syncErrorMessage说明失败原因
- 批量操作的性能取决于ID数组的大小建议单次操作不超过100个ID
## 相关接口
- [查询对象元数据变更列表](http://localhost:8080/integration/change/list) - 查询所有元数据变更列表
- [同步元数据变更到本地数据库](http://localhost:8080/integration/change/{id}/sync) - 同步指定的元数据变更
- [批量同步元数据变更到本地数据库](http://localhost:8080/integration/change/syncBatch) - 批量同步元数据变更
## 实现细节
- 接口通过调用`dataiIntegrationMetadataChangeService.batchUpdateSyncStatus()`方法实现批量更新
- 服务层会根据传入的ID数组和同步状态进行批量更新
- 支持同时更新同步错误信息
## 测试信息
### 测试环境
- **环境**: 开发环境
- **版本**: v1.0
### 测试用例
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|----------|----------|----------|----------|------|
| 批量更新同步状态为已同步 | {"ids": [1, 2, 3], "syncStatus": 1} | 操作成功返回3 | 操作成功返回3 | 通过 |
| 批量更新同步状态为同步失败 | {"ids": [1, 2], "syncStatus": 2, "syncErrorMessage": "同步失败:连接超时"} | 操作成功返回2 | 操作成功返回2 | 通过 |
| 无权限更新 | 任意参数 | 操作失败返回403错误 | 操作失败返回403错误 | 通过 |