跳转至

BpmPlatformController(平台模式流程测试)

为「平台模式」流程测试提供数据支撑:分页查询软件下的流程定义列表;查询软件 + 域下所有角色关联的用户登录账号(去重);分页查询软件下的流程干预实例信息(含审批人账号展开)。

  • 类级基址${myapps.context-path.manager:}/api/authtime(完整路径:{manager-context}/api/authtime<相对路径>
  • Tag:平台模式流程测试模块(源码 @Tag(name = "平台模式流程测试模块")
  • 控制器源码obpm-manager/src/main/java/cn/myapps/manager/authtime/controller/flow/BpmPlatformController.java
  • 公共说明
  • 类继承 BaseAuthTimeController,通过其 success(errmsg, data) / error(errcode, errmsg, errors) 返回统一 Resource(字段 errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。
  • 三端点均在 try/catch 内捕获 Exceptione.printStackTrace() 后返回 errcode=500errmsg=e.getMessage()data=null(HTTP 状态码 200)。
  • 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。
  • 路径变量 applicationId 为软件 id,domainId 为企业域 id。

1. 获取平台模式流程列表

按软件 id 分页查询流程定义(BillDefiVO)列表,仅返回 id / name / subject 三个字段。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/domain/applications/{applicationId}/platform/flows(完整:{manager-context}/api/authtime/domain/applications/{applicationId}/platform/flows
  • 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
  • Tag:平台模式流程测试模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 软件 id(也为该软件的 application id)
pageSize query string 每页条数,缺省 10
pageNum query string 当前页码,缺省 1

请求示例

GET /api/authtime/domain/applications/__APP01/platform/flows?pageSize=10&pageNum=1 HTTP/1.1

响应

结构:统一 ResourcedataMap<String, Object>,字段:

字段 类型 说明
datas array\<JSONObject> 流程定义数组(元素见下)
pageCount int 总页数
linesPerPage int 每页条数
rowCount int 总记录数
pageNum int 当前页码(由控制器以 Integer.valueOf(pageNum) 转换)

datas 元素字段:

字段 类型 说明
id string 流程定义 id
name string 流程名
subject string 流程主题

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "datas": [
      { "id": "__FLOW01", "name": "请假流程", "subject": "请假申请" }
    ],
    "pageCount": 1,
    "linesPerPage": 10,
    "rowCount": 1,
    "pageNum": 1
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }


2. 获取平台模式所有用户账号

按软件 id + 企业域 id 列出该软件下所有角色关联的 runtime 用户登录账号(loginno,去重)。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/domain/{domainId}/applications/{applicationId}/platform/allusers(完整:{manager-context}/api/authtime/domain/{domainId}/applications/{applicationId}/platform/allusers
  • 鉴权:是
  • Tag:平台模式流程测试模块

请求参数

参数名 位置 类型 必填 说明
applicationId path string 软件 id
domainId path string 企业域 id

请求示例

GET /api/authtime/domain/__P1UD2yVWpnFpUedONr/applications/__APP01/platform/allusers HTTP/1.1

响应

结构:统一 ResourcedataCollection<String>(去重后的 loginno 数组)。

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": [ "admin", "zhangsan", "lisi" ],
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }


3. 获取平台模式流程实例信息列表

按软件 id 分页查询流程干预实例(FlowInterventionVO,按 LASTPROCESSTIME DESC 排序),逐条解析 auditorList JSON 串、按用户 id 反查 loginno,组装为流程实例信息数组返回。

  • 接口类型:REST 资源
  • 请求方式GET
  • 请求路径/domain/applications/{applicationId}/platform/instance(完整:{manager-context}/api/authtime/domain/applications/{applicationId}/platform/instance
  • 鉴权:是
  • Tag:平台模式流程测试模块

注:路径中**不含** {domainId}(与「获取平台模式所有用户账号」端点的路径形态不同);调用方仍需通过 adminToken 持有域上下文。

请求参数

参数名 位置 类型 必填 说明
applicationId path string 软件 id(也为该软件的 application id)
pageSize query string 每页条数,缺省 10
pageNum query string 当前页码,缺省 1

请求示例

GET /api/authtime/domain/applications/__APP01/platform/instance?pageSize=10&pageNum=1 HTTP/1.1

响应

结构:统一 ResourcedataMap<String, Object>,字段:

字段 类型 说明
datas array\<JSONObject> 流程实例信息数组(元素见下)
pageCount int 总页数
linesPerPage int 每页条数
rowCount int 总记录数
pageNum string 当前页码(控制器未转 int,原样回传字符串)

datas 元素字段:

字段 类型 说明
instanceid string 流程实例 id(flowstatertId
docId string 文档 id
flowId string 流程定义 id
summary string 摘要
userArray string[] 审批人 loginno 数组(来自 auditorList 反查,去重)
lastAuditor string 最后审批人(用户 id 原值)

成功示例

{
  "errcode": 0,
  "errmsg": "ok",
  "data": {
    "datas": [
      {
        "instanceid": "__RT001",
        "docId": "__DOC001",
        "flowId": "__FLOW01",
        "summary": "请假 1 天",
        "userArray": [ "admin", "zhangsan" ],
        "lastAuditor": "__U002"
      }
    ],
    "pageCount": 1,
    "linesPerPage": 10,
    "rowCount": 1,
    "pageNum": "1"
  },
  "errors": null
}
失败示例
{ "errcode": 500, "errmsg": "<异常信息>", "data": null, "errors": null }