datai/datai-scenes/datai-scene-salesforce/docs/api-docs/integration/DataiIntegrationSyncLogController/0002-log-statistics.md

182 lines
4.4 KiB
Markdown
Raw Permalink Normal View History

# 接口文档
## 接口信息
- **接口名称**: 获取日志统计信息
- **接口路径**: /integration/synclog/statistics
- **请求方法**: GET
- **模块归属**: 数据同步日志
- **版本号**: v1.0
- **创建日期**: 2026-01-09
- **最后更新**: 2026-01-09
## 功能描述
获取数据同步日志的统计信息支持根据批处理ID、对象API名称、操作类型、操作状态等条件进行筛选统计。
## 请求参数
### 路径参数
### 查询参数
| 参数名 | 类型 | 必填 | 描述 | 示例 | 默认值 |
|--------|------|------|------|------|--------|
| batchId | Long | 否 | 批处理ID | 1 | 无 |
| objectApi | String | 否 | 对象API名称 | Account | 无 |
| operationType | String | 否 | 操作类型 | insert | 无 |
| operationStatus | String | 否 | 操作状态 | success | 无 |
| deptId | Long | 否 | 部门ID | 100 | 无 |
| beginTime | String | 否 | 开始时间 | 2026-01-01 | 无 |
| endTime | String | 否 | 结束时间 | 2026-01-31 | 无 |
### 请求体
## 响应数据
### 成功响应
**HTTP 状态码**: 200 OK
```json
{
"code": 200,
"message": "操作成功",
"data": {
"totalCount": 1000,
"successCount": 950,
"failureCount": 50,
"successRate": "95%",
"operationTypeStats": {
"insert": 500,
"update": 300,
"delete": 200
},
"objectApiStats": {
"Account": 400,
"Contact": 300,
"Opportunity": 300
},
"timeRangeStats": {
"2026-01-01": 100,
"2026-01-02": 150,
"2026-01-03": 200
}
}
}
```
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| totalCount | Long | 总操作次数 | 1000 |
| successCount | Long | 成功操作次数 | 950 |
| failureCount | Long | 失败操作次数 | 50 |
| successRate | String | 成功率 | 95% |
| operationTypeStats | Object | 操作类型统计 | {"insert": 500, "update": 300, "delete": 200} |
| objectApiStats | Object | 对象API统计 | {"Account": 400, "Contact": 300, "Opportunity": 300} |
| timeRangeStats | Object | 时间范围统计 | {"2026-01-01": 100, "2026-01-02": 150, "2026-01-03": 200} |
### 失败响应
**HTTP 状态码**: 500 Internal Server Error
```json
{
"code": 500,
"message": "获取统计信息失败: 系统异常",
"data": null
}
```
## 接口示例
### 请求示例
```bash
curl -X GET "http://localhost:8080/integration/synclog/statistics?objectApi=Account&beginTime=2026-01-01&endTime=2026-01-31" \
-H "Authorization: Bearer [token]"
```
### 响应示例
**成功**:
```json
{
"code": 200,
"message": "操作成功",
"data": {
"totalCount": 500,
"successCount": 480,
"failureCount": 20,
"successRate": "96%",
"operationTypeStats": {
"insert": 200,
"update": 250,
"delete": 50
},
"objectApiStats": {
"Account": 500
},
"timeRangeStats": {
"2026-01-01": 50,
"2026-01-15": 200,
"2026-01-31": 250
}
}
}
```
**失败**:
```json
{
"code": 500,
"message": "获取统计信息失败: 系统异常",
"data": null
}
```
## 错误处理
- 统计过程中发生异常时返回500错误
- 参数错误时返回400错误
- 权限不足时返回403错误
## 注意事项
- 该接口需要数据同步日志的查看权限
- 统计信息可能会有一定的延迟,取决于数据量的大小
- 当查询时间范围较大时,可能会耗时较长
## 相关接口
- [查询数据同步日志列表](http://localhost:8080/integration/synclog/list) - 查询数据同步日志列表
- [导出数据同步日志列表](http://localhost:8080/integration/synclog/export) - 导出数据同步日志列表
## 实现细节
- 构建查询参数,支持多条件筛选
- 调用service层的getLogStatistics方法获取统计信息
- 处理统计过程中的异常情况
- 返回统计结果
## 测试信息
### 测试环境
- **环境**: 开发环境
- **版本**: v1.0
### 测试用例
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|----------|----------|----------|----------|------|
| 获取全部统计信息 | 无 | 返回统计信息 | 返回统计信息 | 通过 |
| 按对象筛选统计 | objectApi=Account | 返回Account对象统计 | 返回Account对象统计 | 通过 |
| 按时间范围筛选 | beginTime=2026-01-01&endTime=2026-01-31 | 返回时间范围内统计 | 返回时间范围内统计 | 通过 |
| 按操作状态筛选 | operationStatus=success | 返回成功操作统计 | 返回成功操作统计 | 通过 |