【泛微ecology】查询某个流程所有请求的每个节点操作者的耗时(相当于流程状态页的耗时)
发布人:shili8
发布时间:2025-01-06 21:10
阅读次数:0
**泛微Ecology 查询流程所有请求的每个节点操作者的耗时**
在泛微Ecology中,流程执行过程中会涉及多个节点,每个节点可能由不同的用户操作。为了统计流程执行的耗时,我们需要查询每个节点的操作者及其对应的耗时。
**需求分析**
* 需要获取流程所有请求的每个节点操作者的耗时* 需要支持流程状态页的耗时统计**解决方案**
我们可以使用泛微Ecology提供的API接口来实现这个功能。具体步骤如下:
1. **获取流程所有请求**: 使用`/ecology/api/v2/workflow/{workflowId}/requests`接口获取流程所有请求。
2. **循环每个请求**: 遍历每个请求,使用`/ecology/api/v2/workflow/{workflowId}/request/{requestId}`接口获取请求的详细信息。
3. **获取节点操作者和耗时**: 使用`/ecology/api/v2/workflow/{workflowId}/node/{nodeId}`接口获取每个节点的操作者及其对应的耗时。
**代码示例**
javaimport java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestControllerpublic class WorkflowController {
@GetMapping("/workflow/requests")
public List getWorkflowRequests() {
// 获取流程所有请求 List requests = new ArrayList<>();
// ...
return requests;
}
@GetMapping("/workflow/request/{requestId}")
public WorkflowRequest getRequest(@PathVariable String requestId) {
// 获取请求的详细信息 WorkflowRequest request = new WorkflowRequest();
// ...
return request;
}
@GetMapping("/workflow/node/{nodeId}")
public Node getNode(@PathVariable String nodeId) {
// 获取每个节点的操作者及其对应的耗时 Node node = new Node();
// ...
return node;
}
}
class WorkflowRequest {
private String requestId;
private List nodes;
// ...
}
class Node {
private String nodeId;
private String operator;
private Long timeConsumed;
// ...
}
**API接口**
泛微Ecology提供的API接口如下:
* `/ecology/api/v2/workflow/{workflowId}/requests`: 获取流程所有请求* `/ecology/api/v2/workflow/{workflowId}/request/{requestId}`: 获取请求的详细信息* `/ecology/api/v2/workflow/{workflowId}/node/{nodeId}`: 获取每个节点的操作者及其对应的耗时**注意**
* 需要在泛微Ecology中配置API接口的访问权限和安全策略。
* 需要使用合适的HTTP请求方式(GET、POST、PUT、DELETE等)来调用API接口。
以上是泛微Ecology 查询流程所有请求的每个节点操作者的耗时的解决方案。

