425 lines
12 KiB
Markdown
425 lines
12 KiB
Markdown
# API 文档:Flow 覆盖率功能
|
||
|
||
## 元数据
|
||
- 需求编号:002-05
|
||
- 需求名称:Flow 覆盖率
|
||
- 创建时间:2026-02-05
|
||
- 创建人:AI Assistant
|
||
- 版本号:v1.0.0
|
||
|
||
## API 概述
|
||
Flow 覆盖率 API 提供 Salesforce Apex Flow 覆盖率数据的查询、管理和统计功能。支持 Flow 覆盖率记录的分页查询、详情查询、导出,以及 Flow 覆盖率警告的查询和管理。
|
||
|
||
### 功能特性
|
||
- **Flow 覆盖率查询**:支持分页查询 Flow 覆盖率记录,可按多种条件筛选
|
||
- **Flow 覆盖率详情**:查询单个 Flow 覆盖率记录的详细信息
|
||
- **Flow 覆盖率导出**:支持将 Flow 覆盖率数据导出为 Excel
|
||
- **Flow 覆盖率警告**:查询 Flow 覆盖率相关的警告信息
|
||
- **CRUD 操作**:支持 Flow 覆盖率记录的增删改查
|
||
|
||
### 权限控制
|
||
所有接口都需要相应的权限才能访问:
|
||
- `apex:apexflowcoverage:list` - 查询 Flow 覆盖率列表
|
||
- `apex:apexflowcoverage:query` - 查询 Flow 覆盖率详情
|
||
- `apex:apexflowcoverage:add` - 新增 Flow 覆盖率
|
||
- `apex:apexflowcoverage:edit` - 修改 Flow 覆盖率
|
||
- `apex:apexflowcoverage:remove` - 删除 Flow 覆盖率
|
||
- `apex:apexflowcoverage:export` - 导出 Flow 覆盖率
|
||
- `apex:apexflowwarning:list` - 查询 Flow 覆盖率警告列表
|
||
- `apex:apexflowwarning:query` - 查询 Flow 覆盖率警告详情
|
||
|
||
## 接口列表
|
||
|
||
### 1. 查询 Flow 覆盖率列表
|
||
|
||
- **功能描述**:分页查询 Flow 覆盖率记录列表,支持多种筛选条件
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/apex/apexflowcoverage/list`
|
||
- **权限要求**:`apex:apexflowcoverage:list`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| pageNum | Integer | 否 | 当前页码,默认 1 |
|
||
| pageSize | Integer | 否 | 每页记录数,默认 10 |
|
||
| testResultId | Long | 否 | 测试结果 ID |
|
||
| flowName | String | 否 | Flow 名称,支持模糊查询 |
|
||
| flowId | String | 否 | Flow ID |
|
||
| type | String | 否 | Flow 类型 |
|
||
| namespace | String | 否 | 命名空间 |
|
||
| minCoverage | Double | 否 | 最小覆盖率(百分比) |
|
||
| maxCoverage | Double | 否 | 最大覆盖率(百分比) |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| rows | Array | Flow 覆盖率记录列表 |
|
||
| total | Long | 总记录数 |
|
||
|
||
#### 响应数据项
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| id | Long | 记录 ID |
|
||
| testResultId | Long | 测试结果 ID |
|
||
| flowName | String | Flow 名称 |
|
||
| flowId | String | Flow ID |
|
||
| type | String | Flow 类型 |
|
||
| namespace | String | 命名空间 |
|
||
| coveragePercent | Double | 覆盖率百分比 |
|
||
| numElements | Integer | 总元素数 |
|
||
| coveredElements | Integer | 已覆盖元素数 |
|
||
| numElementsNotCovered | Integer | 未覆盖元素数 |
|
||
| createTime | String | 创建时间 |
|
||
| updateTime | String | 更新时间 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询成功",
|
||
"rows": [
|
||
{
|
||
"id": 1,
|
||
"testResultId": 100,
|
||
"flowName": "Account_Automation",
|
||
"flowId": "301xx000000abcd",
|
||
"type": "AutoLaunchedFlow",
|
||
"namespace": "",
|
||
"coveragePercent": 85.5,
|
||
"numElements": 20,
|
||
"coveredElements": 17,
|
||
"numElementsNotCovered": 3,
|
||
"createTime": "2026-02-05 10:30:00",
|
||
"updateTime": "2026-02-05 10:30:00"
|
||
}
|
||
],
|
||
"total": 1
|
||
}
|
||
```
|
||
|
||
### 2. 查询 Flow 覆盖率详情
|
||
|
||
- **功能描述**:根据 ID 查询单个 Flow 覆盖率记录的详细信息
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/apex/apexflowcoverage/{id}`
|
||
- **权限要求**:`apex:apexflowcoverage:query`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | Long | 是 | Flow 覆盖率记录 ID,路径参数 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | Flow 覆盖率详细信息 |
|
||
|
||
#### 响应数据项
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| id | Long | 记录 ID |
|
||
| testResultId | Long | 测试结果 ID |
|
||
| flowName | String | Flow 名称 |
|
||
| flowId | String | Flow ID |
|
||
| type | String | Flow 类型 |
|
||
| namespace | String | 命名空间 |
|
||
| coveragePercent | Double | 覆盖率百分比 |
|
||
| numElements | Integer | 总元素数 |
|
||
| coveredElements | Integer | 已覆盖元素数 |
|
||
| numElementsNotCovered | Integer | 未覆盖元素数 |
|
||
| createTime | String | 创建时间 |
|
||
| updateTime | String | 更新时间 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"id": 1,
|
||
"testResultId": 100,
|
||
"flowName": "Account_Automation",
|
||
"flowId": "301xx000000abcd",
|
||
"type": "AutoLaunchedFlow",
|
||
"namespace": "",
|
||
"coveragePercent": 85.5,
|
||
"numElements": 20,
|
||
"coveredElements": 17,
|
||
"numElementsNotCovered": 3,
|
||
"createTime": "2026-02-05 10:30:00",
|
||
"updateTime": "2026-02-05 10:30:00"
|
||
}
|
||
}
|
||
```
|
||
|
||
### 3. 新增 Flow 覆盖率
|
||
|
||
- **功能描述**:新增一条 Flow 覆盖率记录
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/apex/apexflowcoverage`
|
||
- **权限要求**:`apex:apexflowcoverage:add`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| testResultId | Long | 是 | 测试结果 ID |
|
||
| flowName | String | 是 | Flow 名称 |
|
||
| flowId | String | 是 | Flow ID |
|
||
| type | String | 否 | Flow 类型 |
|
||
| namespace | String | 否 | 命名空间 |
|
||
| coveragePercent | Double | 否 | 覆盖率百分比 |
|
||
| numElements | Integer | 否 | 总元素数 |
|
||
| coveredElements | Integer | 否 | 已覆盖元素数 |
|
||
| numElementsNotCovered | Integer | 否 | 未覆盖元素数 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功"
|
||
}
|
||
```
|
||
|
||
### 4. 修改 Flow 覆盖率
|
||
|
||
- **功能描述**:修改指定的 Flow 覆盖率记录
|
||
- **请求方式**:PUT
|
||
- **请求路径**:`/apex/apexflowcoverage`
|
||
- **权限要求**:`apex:apexflowcoverage:edit`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | Long | 是 | 记录 ID |
|
||
| testResultId | Long | 否 | 测试结果 ID |
|
||
| flowName | String | 否 | Flow 名称 |
|
||
| flowId | String | 否 | Flow ID |
|
||
| type | String | 否 | Flow 类型 |
|
||
| namespace | String | 否 | 命名空间 |
|
||
| coveragePercent | Double | 否 | 覆盖率百分比 |
|
||
| numElements | Integer | 否 | 总元素数 |
|
||
| coveredElements | Integer | 否 | 已覆盖元素数 |
|
||
| numElementsNotCovered | Integer | 否 | 未覆盖元素数 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功"
|
||
}
|
||
```
|
||
|
||
### 5. 删除 Flow 覆盖率
|
||
|
||
- **功能描述**:删除指定的 Flow 覆盖率记录(支持批量删除)
|
||
- **请求方式**:DELETE
|
||
- **请求路径**:`/apex/apexflowcoverage/{ids}`
|
||
- **权限要求**:`apex:apexflowcoverage:remove`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| ids | String | 是 | 记录 ID 列表,多个 ID 用逗号分隔,路径参数 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功"
|
||
}
|
||
```
|
||
|
||
### 6. 导出 Flow 覆盖率
|
||
|
||
- **功能描述**:将 Flow 覆盖率数据导出为 Excel 文件
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/apex/apexflowcoverage/export`
|
||
- **权限要求**:`apex:apexflowcoverage:export`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| testResultId | Long | 否 | 测试结果 ID |
|
||
| flowName | String | 否 | Flow 名称,支持模糊查询 |
|
||
| flowId | String | 否 | Flow ID |
|
||
| type | String | 否 | Flow 类型 |
|
||
| namespace | String | 否 | 命名空间 |
|
||
| minCoverage | Double | 否 | 最小覆盖率(百分比) |
|
||
| maxCoverage | Double | 否 | 最大覆盖率(百分比) |
|
||
|
||
#### 响应参数
|
||
|
||
- 返回 Excel 文件流,文件名为 "Apex Flow覆盖率数据.xlsx"
|
||
|
||
### 7. 查询 Flow 覆盖率警告列表
|
||
|
||
- **功能描述**:分页查询 Flow 覆盖率警告记录列表
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/apex/apexflowwarning/list`
|
||
- **权限要求**:`apex:apexflowwarning:list`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| pageNum | Integer | 否 | 当前页码,默认 1 |
|
||
| pageSize | Integer | 否 | 每页记录数,默认 10 |
|
||
| flowCoverageId | Long | 否 | Flow 覆盖率 ID |
|
||
| message | String | 否 | 警告消息,支持模糊查询 |
|
||
| warningType | String | 否 | 警告类型 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| rows | Array | Flow 覆盖率警告记录列表 |
|
||
| total | Long | 总记录数 |
|
||
|
||
#### 响应数据项
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| id | Long | 记录 ID |
|
||
| flowCoverageId | Long | Flow 覆盖率 ID |
|
||
| message | String | 警告消息 |
|
||
| warningType | String | 警告类型 |
|
||
| createTime | String | 创建时间 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "查询成功",
|
||
"rows": [
|
||
{
|
||
"id": 1,
|
||
"flowCoverageId": 1,
|
||
"message": "Flow coverage limit reached",
|
||
"warningType": "LIMIT_WARNING",
|
||
"createTime": "2026-02-05 10:30:00"
|
||
}
|
||
],
|
||
"total": 1
|
||
}
|
||
```
|
||
|
||
### 8. 查询 Flow 覆盖率警告详情
|
||
|
||
- **功能描述**:根据 ID 查询单个 Flow 覆盖率警告记录的详细信息
|
||
- **请求方式**:GET
|
||
- **请求路径**:`/apex/apexflowwarning/{id}`
|
||
- **权限要求**:`apex:apexflowwarning:query`
|
||
|
||
#### 请求参数
|
||
|
||
| 参数名 | 类型 | 必填 | 说明 |
|
||
|--------|------|------|------|
|
||
| id | Long | 是 | Flow 覆盖率警告记录 ID,路径参数 |
|
||
|
||
#### 响应参数
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,其他失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | Flow 覆盖率警告详细信息 |
|
||
|
||
#### 响应数据项
|
||
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| id | Long | 记录 ID |
|
||
| flowCoverageId | Long | Flow 覆盖率 ID |
|
||
| message | String | 警告消息 |
|
||
| warningType | String | 警告类型 |
|
||
| createTime | String | 创建时间 |
|
||
|
||
#### 成功示例
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": {
|
||
"id": 1,
|
||
"flowCoverageId": 1,
|
||
"message": "Flow coverage limit reached",
|
||
"warningType": "LIMIT_WARNING",
|
||
"createTime": "2026-02-05 10:30:00"
|
||
}
|
||
}
|
||
```
|
||
|
||
## 错误码
|
||
|
||
### 通用错误码
|
||
|
||
| 错误码 | 说明 |
|
||
|--------|------|
|
||
| 200 | 操作成功 |
|
||
| 500 | 系统内部错误 |
|
||
| 401 | 未授权,需要登录 |
|
||
| 403 | 禁止访问,权限不足 |
|
||
| 404 | 资源不存在 |
|
||
| 405 | 请求方法不允许 |
|
||
|
||
### 业务错误码
|
||
|
||
| 错误码 | 说明 |
|
||
|--------|------|
|
||
| 1001 | 参数校验失败 |
|
||
| 1002 | 记录不存在 |
|
||
| 1003 | 记录已存在 |
|
||
| 1004 | 操作失败 |
|
||
|
||
## 相关文档
|
||
|
||
- [需求文档](../requirements/sub/2026-01-28-002-05-Flow覆盖率.md)
|
||
- [设计文档](../design/2026-02-03-002-05-Flow覆盖率-设计.md)
|
||
- [决策记录](../decisions/2026-02-03-002-05-ADR-Flow覆盖率技术选型.md)
|
||
- [变更日志](../changelog/2026-02-05-002-05-changelog.md)
|
||
- [复盘文档](../retros/2026-02-05-002-05-retro.md)
|