datai/docs/archive/api-docs/integration/DataiIntegrationBatchController/0001-retry-failed-batch.md

130 lines
3.1 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/batch/{id}/retry
- **请求方法**: POST
- **模块归属**: integration
- **版本号**: v1.0
- **创建日期**: 2026-01-09
- **最后更新**: 2026-01-09
## 功能描述
重试执行失败的数据同步批次,将失败的批次重新加入执行队列。
## 请求参数
### 路径参数
| 参数名 | 类型 | 必填 | 描述 | 示例 |
|--------|------|------|------|------|
| id | Integer | 是 | 批次ID | 123 |
## 响应数据
### 成功响应
**HTTP 状态码**: 200 OK
```json
{
"code": 200,
"message": "操作成功",
"data": 1
}
```
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| code | Integer | 响应状态码 | 200 |
| message | String | 响应消息 | 操作成功 |
| data | Integer | 操作结果1表示成功 | 1 |
### 失败响应
**HTTP 状态码**: 400 Bad Request
```json
{
"code": 400,
"message": "批次不存在或状态不允许重试",
"data": null
}
```
| 错误码 | 错误信息 | 描述 |
|--------|----------|------|
| 400 | 批次不存在或状态不允许重试 | 当批次ID不存在或批次状态不是失败状态时 |
| 403 | 无权限执行此操作 | 当用户没有integration:batch:retry权限时 |
## 接口示例
### 请求示例
```bash
curl -X POST "http://localhost:8080/integration/batch/123/retry" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer [token]"
```
### 响应示例
**成功**:
```json
{
"code": 200,
"message": "操作成功",
"data": 1
}
```
**失败**:
```json
{
"code": 400,
"message": "批次不存在或状态不允许重试",
"data": null
}
```
## 错误处理
- **400 Bad Request**: 批次不存在或状态不允许重试
- **403 Forbidden**: 用户无权限执行此操作
- **500 Internal Server Error**: 服务器内部错误
## 注意事项
- 仅当批次状态为失败时才能重试
- 重试操作可能会触发数据同步,请注意系统负载
- 重试后批次状态会变为执行中
## 相关接口
- [获取批次详细信息](http://localhost:8080/integration/batch/{id}) - 获取批次的详细信息
- [获取批次同步统计信息](http://localhost:8080/integration/batch/{id}/statistics) - 获取批次的同步统计信息
## 实现细节
- 接口通过调用`dataiIntegrationBatchService.retryFailed(id)`方法实现重试逻辑
- 服务层会检查批次状态,仅允许失败状态的批次重试
- 重试操作会重置批次状态并重新触发同步流程
## 测试信息
### 测试环境
- **环境**: 开发环境
- **版本**: v1.0
### 测试用例
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|----------|----------|----------|----------|------|
| 重试失败批次 | id=123失败状态 | 操作成功返回1 | 操作成功返回1 | 通过 |
| 重试非失败批次 | id=124执行中状态 | 操作失败,返回错误信息 | 操作失败,返回错误信息 | 通过 |
| 重试不存在批次 | id=999不存在 | 操作失败,返回错误信息 | 操作失败,返回错误信息 | 通过 |