流程仪表(AnalyzerController)¶
流程仪表盘查询接口:按日期范围、展示模式等条件统计流程耗时数据,供仪表盘前端渲染。
- 接口类型:REST 资源(
@Component继承AbstractRuntimeController;类级produces = MediaType.APPLICATION_JSON_VALUE,方法返回类型为Resource,由 Spring Jackson 序列化为 JSON,据源码) - 基址:
${myapps.context-path.runtime:}/api/runtime/{applicationId} - Tag:流程仪表模块
公共说明¶
- 鉴权(据源码):类级基址位于
/api/runtime/**,在RestSecurityHandlerInterceptor覆盖范围内,且不在豁免名单(豁免仅覆盖/api/runtime/login.*、/api/runtime/dingding/authlogin、/api/runtime/synchronization.*、URI 以/showjrxml结尾、含/getCustomColumnsInfos、含/accessToken、含/macro、以/clear结尾、含/pages/等,详见 login.md「公共说明 · 鉴权」)。拦截器走Security.getUserIdFromToken(request),未取到再尝试Security.getDebugUserIdFromToken(request),两者皆无则拒绝。故需 accessToken(或 debugToken),可通过 Cookie / 请求头 / query 参数任一方式传递。控制器内getUser()(继承自AbstractRuntimeController)必须能取到非空WebUser,否则在DesUtil.decryptTextByUserId(applicationId, getUser().getId())时即抛 NPE。 - 路径变量
{applicationId}:必填,经 DES 加密(按当前执行用户密钥),服务端在方法入口处DesUtil.decryptTextByUserId(applicationId, getUser().getId())解密。 - 响应结构:本控制器响应使用统一
Resource(见 ../index.md「统一响应结构」)。注意失败时源码用success(e.getLocalizedMessage(), null)包裹(仍为errcode=0),错误信息出现在errmsg中,据源码如实记录。
1. 流程仪表盘查询¶
按日期区间、展示模式、统计维度等条件查询流程耗时统计数据(AnalyzerProcess.getConsuming)。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/Consuming(完整:{runtime-context}/api/runtime/{applicationId}/Consuming) - 鉴权:是(需 accessToken,据源码)
- Tag:流程仪表模块
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| applicationId | path | string | 是 | 应用Id(DES 加密密文) |
| content | body | string(JSON) | 是 | 请求体 JSON,见下方「请求体」 |
请求体¶
JSON 对象,源码解析如下字段(多余字段被忽略):
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| select | string | 否 | 统计维度选择(透传给 AnalyzerProcess) |
| startdate | string | 否 | 起始日期 |
| enddate | string | 否 | 截止日期 |
| showMode | string | 是 | 展示模式(如 day/month 等) |
| dateRange | string | 是 | 日期范围(透传给 AnalyzerProcess.getConsuming) |
请求示例¶
POST /api/runtime/__APPID__/Consuming HTTP/1.1
Content-Type: application/json
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9...
{
"showMode": "day",
"dateRange": "2026-01-01至2026-08-01",
"select": "FLOW",
"startdate": "2026-01-01",
"enddate": "2026-08-01"
}
响应¶
结构:统一 Resource(见 ../index.md「统一响应结构」)。
data:Collection<HashMap>,每条记录为流程耗时统计行(由 AnalyzerProcess.getConsuming 返回,字段视 showMode/select 而定)。
成功示例:
{
"errcode": 0,
"errmsg": "success",
"data": [
{ "name": "请假流程", "avgConsuming": "2d", "count": 12 }
],
"errors": null
}
失败示例(异常被吞,仍以 errcode=0 返回,错误信息在 errmsg):