datai-vue/doc/salesforce/integration/0002-log-statistics.md
Kris 1177dbde35 feat: 添加元数据变更中心和实时同步统计页面
- 新增元数据变更中心页面 (metadatachange/index.vue)
  - 集成统计卡片显示变更数据
  - 支持按变更类型、操作类型、同步状态分组统计
  - 支持趋势统计图表展示
  - 优化查询条件布局,移至页面顶部

- 新增实时同步统计页面 (statistics/realtime/index.vue)
  - 显示实时同步服务状态和控制按钮
  - 统计启用实时同步的对象数量
  - 自动刷新统计数据(30秒间隔)

- 优化数据同步页面 (datasync/index.vue)
  - 修正字段映射以匹配API响应
  - 更新统计卡片显示实际数据

- 优化同步日志统计页面 (statistics/synclog/index.vue)
  - 更新表格列以匹配API响应结构
  - 更新查询参数和映射函数

- 更新导航栏菜单 (Navbar/index.vue)
  - 添加元数据变更中心菜单项

- 新增API接口 (realtimeservice.js)
  - 添加getStatistics函数获取实时同步统计数据

- 新增接口文档
  - DataiIntegrationRealtimeSyncController 接口文档
  - DataiIntegrationRealtimeSyncLogController 接口文档
2026-01-13 13:50:07 +08:00

182 lines
4.4 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/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 | 返回成功操作统计 | 返回成功操作统计 | 通过 |