diff --git a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java index ac353f0c6..7a86dc0a5 100644 --- a/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java +++ b/pigx-flow/pigx-flow-engine/pigx-flow-engine-biz/src/main/java/com/pig4cloud/pigx/flow/engine/controller/EngineFlowController.java @@ -11,6 +11,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.databind.ObjectMapper; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.security.annotation.Inner; import com.pig4cloud.pigx.flow.engine.utils.ModelUtil; import com.pig4cloud.pigx.flow.task.dto.*; import com.pig4cloud.pigx.flow.task.entity.Process; @@ -95,6 +96,7 @@ public class EngineFlowController { * @param processInstanceParamDto 启动参数 * @return 流程实例ID */ + @Inner @PostMapping("/start") public R start(@RequestBody ProcessInstanceParamDto processInstanceParamDto) { Authentication.setAuthenticatedUserId(processInstanceParamDto.getStartUserId()); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteAiFlowService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteAiFlowService.java index 0bbe51399..7595002d7 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteAiFlowService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteAiFlowService.java @@ -2,6 +2,7 @@ package com.pig4cloud.pigx.flow.task.api.feign; import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.feign.annotation.NoToken; import com.pig4cloud.pigx.flow.task.dto.ProcessInstanceParamDto; import com.pig4cloud.pigx.flow.task.vo.FormGroupVo; import com.pig4cloud.pigx.flow.task.vo.ProcessVO; @@ -17,8 +18,8 @@ import java.util.List; * @author lengleng * @date 2023/7/14 */ -@FeignClient(contextId = "remoteAiTaskService", value = ServiceNameConstants.FLOW_TASK_SERVER) -public interface RemoteAiFlowService { +@FeignClient(contextId = "remoteAiFlowService", value = ServiceNameConstants.FLOW_TASK_SERVER) +public interface RemoteFlowApiFlowService { /** * 查询所有我可以发起的表单 @@ -38,7 +39,14 @@ public interface RemoteAiFlowService { R getDetail(@RequestParam("flowId") String flowId); - @PostMapping("/process-instance/startProcessInstance") - R startProcessInstance(@RequestBody ProcessInstanceParamDto paramDto); + /** + * 启动流程实例 + * + * @param paramDto param dto + * @return {@link R } 流程实例ID {@link String} + */ + @NoToken + @PostMapping("/process-instance/startInnerProcessInstance") + R startInnerProcessInstance(@RequestBody ProcessInstanceParamDto paramDto); } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java index 5d35945d9..670bcf3ef 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowEngineService.java @@ -3,6 +3,7 @@ package com.pig4cloud.pigx.flow.task.api.feign; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.feign.annotation.NoToken; import com.pig4cloud.pigx.flow.task.dto.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -48,6 +49,7 @@ public interface RemoteFlowEngineService { * @param processInstanceParamDto 流程实例参数 * @return 启动流程结果 */ + @NoToken @PostMapping("/flow/start") R startProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowTaskService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowTaskService.java index caf7aadfc..856916d51 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowTaskService.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/java/com/pig4cloud/pigx/flow/task/api/feign/RemoteFlowTaskService.java @@ -2,6 +2,7 @@ package com.pig4cloud.pigx.flow.task.api.feign; import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.feign.annotation.NoToken; import com.pig4cloud.pigx.flow.task.dto.*; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -22,6 +23,7 @@ public interface RemoteFlowTaskService { * 节点开始事件 * @param nodeRecordParamDto */ + @NoToken @PostMapping("/remote/startNodeEvent") void startNodeEvent(@RequestBody ProcessNodeRecordParamDto nodeRecordParamDto); @@ -29,6 +31,7 @@ public interface RemoteFlowTaskService { * 节点结束事件 * @param nodeRecordParamDto */ + @NoToken @PostMapping("/remote/endNodeEvent") void endNodeEvent(@RequestBody ProcessNodeRecordParamDto nodeRecordParamDto); @@ -43,6 +46,7 @@ public interface RemoteFlowTaskService { * 创建流程事件 * @param processInstanceRecordParamDto */ + @NoToken @PostMapping("/remote/createProcessEvent") void createProcessEvent(@RequestBody ProcessInstanceRecordParamDto processInstanceRecordParamDto); @@ -73,6 +77,7 @@ public interface RemoteFlowTaskService { * @param nodeId 节点id * @return */ + @NoToken @GetMapping("/processNodeData/getNodeData") R queryNodeOriData(@RequestParam("flowId") String flowId, @RequestParam("nodeId") String nodeId); @@ -80,6 +85,7 @@ public interface RemoteFlowTaskService { * 节点开始指派用户了 * @param processNodeRecordAssignUserParamDto */ + @NoToken @PostMapping("/remote/startAssignUser") R startAssignUser(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto); @@ -87,6 +93,7 @@ public interface RemoteFlowTaskService { * 任务结束事件 * @param processNodeRecordAssignUserParamDto */ + @NoToken @PostMapping("/remote/taskEndEvent") R taskEndEvent(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports index d28afc491..c7b4ff957 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-api/src/main/resources/META-INF/spring/org.springframework.cloud.openfeign.FeignClient.imports @@ -1,3 +1,3 @@ com.pig4cloud.pigx.flow.task.api.feign.RemoteFlowTaskService com.pig4cloud.pigx.flow.task.api.feign.RemoteFlowEngineService -com.pig4cloud.pigx.flow.task.api.feign.RemoteAiFlowService +com.pig4cloud.pigx.flow.task.api.feign.RemoteFlowApiFlowService diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessInstanceController.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessInstanceController.java index feeba5c28..d86a9058c 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessInstanceController.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessInstanceController.java @@ -1,6 +1,7 @@ package com.pig4cloud.pigx.flow.task.controller; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.security.annotation.Inner; import com.pig4cloud.pigx.flow.task.dto.ProcessInstanceParamDto; import com.pig4cloud.pigx.flow.task.dto.TaskQueryParamDto; import com.pig4cloud.pigx.flow.task.service.IProcessInstanceService; @@ -30,6 +31,19 @@ public class ProcessInstanceController { return processInstanceService.startProcessInstance(processInstanceParamDto); } + /** + * 启动内部流程实例 + * + * @param processInstanceParamDto 进程实例参数 DTO + * @return {@link R } + */ + @Inner + @SneakyThrows + @PostMapping("startInnerProcessInstance") + public R startInnerProcessInstance(@RequestBody ProcessInstanceParamDto processInstanceParamDto) { + return processInstanceService.startProcessInstance(processInstanceParamDto); + } + /** * 查询当前登录用户的待办任务 * @param pageDto diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessNodeDataController.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessNodeDataController.java index 2a5d6dce9..929ce5c0c 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessNodeDataController.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/ProcessNodeDataController.java @@ -1,6 +1,7 @@ package com.pig4cloud.pigx.flow.task.controller; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.security.annotation.Inner; import com.pig4cloud.pigx.flow.task.dto.Node; import com.pig4cloud.pigx.flow.task.dto.ProcessNodeDataDto; import com.pig4cloud.pigx.flow.task.service.IProcessNodeDataService; @@ -38,6 +39,7 @@ public class ProcessNodeDataController { * @param nodeId * @return */ + @Inner @GetMapping("getNodeData") public R getNodeData(String flowId, String nodeId) { return processNodeDataService.getNodeData(flowId, nodeId); diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/RemoteController.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/RemoteController.java index 551a84ea8..07ce38058 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/RemoteController.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/RemoteController.java @@ -1,6 +1,7 @@ package com.pig4cloud.pigx.flow.task.controller; import com.pig4cloud.pigx.common.core.util.R; +import com.pig4cloud.pigx.common.security.annotation.Inner; import com.pig4cloud.pigx.flow.task.dto.*; import com.pig4cloud.pigx.flow.task.service.IRemoteService; import lombok.RequiredArgsConstructor; @@ -17,136 +18,154 @@ import java.util.Map; @RequestMapping("/remote") public class RemoteController { - private final IRemoteService remoteService; + private final IRemoteService remoteService; - /** - * 根据角色id集合查询用户id集合 - * @param roleIdList - * @return - */ - @PostMapping("queryUserIdListByRoleIdList") - public R> queryUserIdListByRoleIdList(@RequestBody List roleIdList) { - return remoteService.queryUserIdListByRoleIdList(roleIdList); - } + /** + * 根据角色id集合查询用户id集合 + * + * @param roleIdList + * @return + */ + @PostMapping("queryUserIdListByRoleIdList") + public R> queryUserIdListByRoleIdList(@RequestBody List roleIdList) { + return remoteService.queryUserIdListByRoleIdList(roleIdList); + } - /** - * 保存抄送 - * @param copyDto - * @return - */ - @PostMapping("savecc") - public R saveCC(@RequestBody ProcessCopyDto copyDto) { - return remoteService.saveCC(copyDto); - } + /** + * 保存抄送 + * + * @param copyDto + * @return + */ + @PostMapping("savecc") + public R saveCC(@RequestBody ProcessCopyDto copyDto) { + return remoteService.saveCC(copyDto); + } - /** - * 检查是否是所有的父级 - * @param checkParentDto - * @return - */ - @PostMapping("checkIsAllParent") - public R checkIsAllParent(@RequestBody CheckParentDto checkParentDto) { - return remoteService.checkIsAllParent(checkParentDto); - } + /** + * 检查是否是所有的父级 + * + * @param checkParentDto + * @return + */ + @PostMapping("checkIsAllParent") + public R checkIsAllParent(@RequestBody CheckParentDto checkParentDto) { + return remoteService.checkIsAllParent(checkParentDto); + } - /** - * 根据部门id集合查询用户id集合 - * @param depIdList - * @return - */ - @PostMapping("queryUserIdListByDepIdList") - public R> queryUserIdListByDepIdList(@RequestBody List depIdList) { - return remoteService.queryUserIdListByDepIdList(depIdList); - } + /** + * 根据部门id集合查询用户id集合 + * + * @param depIdList + * @return + */ + @PostMapping("queryUserIdListByDepIdList") + public R> queryUserIdListByDepIdList(@RequestBody List depIdList) { + return remoteService.queryUserIdListByDepIdList(depIdList); + } - /** - * 检查是否是所有的子级 - * @param checkChildDto - * @return - */ - @PostMapping("checkIsAllChild") - public R checkIsAllChild(@RequestBody CheckChildDto checkChildDto) { - return remoteService.checkIsAllChild(checkChildDto); - } + /** + * 检查是否是所有的子级 + * + * @param checkChildDto + * @return + */ + @PostMapping("checkIsAllChild") + public R checkIsAllChild(@RequestBody CheckChildDto checkChildDto) { + return remoteService.checkIsAllChild(checkChildDto); + } - /** - * 获取用户的信息-包括扩展字段 - * @param userId - * @return - */ - @GetMapping("queryUserAllInfo") - public R> queryUserAllInfo(long userId) { - return remoteService.queryUserAllInfo(userId); - } + /** + * 获取用户的信息-包括扩展字段 + * + * @param userId + * @return + */ + @GetMapping("queryUserAllInfo") + public R> queryUserAllInfo(long userId) { + return remoteService.queryUserAllInfo(userId); + } - /** - * 开始节点事件 - * @param recordParamDto - * @return - */ - @PostMapping("startNodeEvent") - public R startNodeEvent(@RequestBody ProcessNodeRecordParamDto recordParamDto) { - return remoteService.startNodeEvent(recordParamDto); - } + /** + * 开始节点事件 + * + * @param recordParamDto + * @return + */ + @Inner + @PostMapping("/startNodeEvent") + public R startNodeEvent(@RequestBody ProcessNodeRecordParamDto recordParamDto) { + return remoteService.startNodeEvent(recordParamDto); + } - /** - * 流程创建了 - * @param processInstanceRecordParamDto - * @return - */ - @PostMapping("createProcessEvent") - public R createProcessEvent(@RequestBody ProcessInstanceRecordParamDto processInstanceRecordParamDto) { - return remoteService.createProcessEvent(processInstanceRecordParamDto); - } + /** + * 流程创建了 + * + * @param processInstanceRecordParamDto + * @return + */ + @Inner + @PostMapping("createProcessEvent") + public R createProcessEvent(@RequestBody ProcessInstanceRecordParamDto processInstanceRecordParamDto) { + return remoteService.createProcessEvent(processInstanceRecordParamDto); + } - /** - * 结束节点事件 - * @param recordParamDto - * @return - */ - @PostMapping("endNodeEvent") - public R endNodeEvent(@RequestBody ProcessNodeRecordParamDto recordParamDto) { - return remoteService.endNodeEvent(recordParamDto); - } + /** + * 结束节点事件 + * + * @param recordParamDto + * @return + */ + @Inner + @PostMapping("endNodeEvent") + public R endNodeEvent(@RequestBody ProcessNodeRecordParamDto recordParamDto) { + return remoteService.endNodeEvent(recordParamDto); + } - /** - * 开始设置执行人 - * @param processNodeRecordAssignUserParamDto - * @return - */ - @PostMapping("startAssignUser") - public R startAssignUser(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { - return remoteService.startAssignUser(processNodeRecordAssignUserParamDto); - } + /** + * 开始设置执行人 + * + * @param processNodeRecordAssignUserParamDto + * @return + */ + @Inner + @PostMapping("startAssignUser") + public R startAssignUser(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { + return remoteService.startAssignUser(processNodeRecordAssignUserParamDto); + } - /** - * 任务结束事件 - * @param processNodeRecordAssignUserParamDto - * @return - */ - @PostMapping("taskEndEvent") - public R taskEndEvent(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { - return remoteService.taskEndEvent(processNodeRecordAssignUserParamDto); - } + /** + * 任务结束事件 + * + * @param processNodeRecordAssignUserParamDto + * @return + */ + @Inner + @PostMapping("taskEndEvent") + public R taskEndEvent(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto) { + return remoteService.taskEndEvent(processNodeRecordAssignUserParamDto); + } - /** - * 实例结束 - * @param processInstanceParamDto - * @return - */ - @PostMapping("endProcess") - public R endProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto) { - return remoteService.endProcess(processInstanceParamDto.getProcessInstanceId()); - } + /** + * 实例结束 + * + * @param processInstanceParamDto + * @return + */ + @PostMapping("endProcess") + public R endProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto) { + return remoteService.endProcess(processInstanceParamDto.getProcessInstanceId()); + } - /** - * 查询流程管理员 - * @param flowId - * @return - */ - @GetMapping("queryProcessAdmin") - public R queryProcessAdmin(String flowId) { - return remoteService.queryProcessAdmin(flowId); - } + /** + * 查询流程管理员 + * + * @param flowId + * @return + */ + @GetMapping("queryProcessAdmin") + public R queryProcessAdmin(String flowId) { + return remoteService.queryProcessAdmin(flowId); + } } diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java index 87627c2a5..a22a7bb99 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/ProcessInstanceServiceImpl.java @@ -69,16 +69,18 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { */ @Override public R startProcessInstance(ProcessInstanceParamDto processInstanceParamDto) { + // 如果没有传递根节点(发起人),则根据当前用户初始化一个 + if (StrUtil.isBlank(processInstanceParamDto.getStartUserId())) { + PigxUser user = SecurityUtils.getUser(); + processInstanceParamDto.setStartUserId(String.valueOf(user.getId())); + Map paramMap = processInstanceParamDto.getParamMap(); + Dict rootUser = Dict.create() + .set("id", user.getId()) + .set("name", user.getUsername()) + .set("type", NodeUserTypeEnum.USER.getKey()); + paramMap.put("root", CollUtil.newArrayList(rootUser)); + } - PigxUser user = SecurityUtils.getUser(); - - processInstanceParamDto.setStartUserId(String.valueOf(user.getId())); - Map paramMap = processInstanceParamDto.getParamMap(); - Dict rootUser = Dict.create() - .set("id", user.getId()) - .set("name", user.getUsername()) - .set("type", NodeUserTypeEnum.USER.getKey()); - paramMap.put("root", CollUtil.newArrayList(rootUser)); return flowEngineService.startProcess(processInstanceParamDto); } @@ -91,56 +93,56 @@ public class ProcessInstanceServiceImpl implements IProcessInstanceService { @Override public R queryMineTask(TaskQueryParamDto taskQueryParamDto) { taskQueryParamDto.setAssign(SecurityUtils.getUser().getId().toString()); - R> r = flowEngineService.queryAssignTask(taskQueryParamDto); + R> r = flowEngineService.queryAssignTask(taskQueryParamDto); - if (CollUtil.isEmpty(r.getData().getRecords())) { - return r; - } + if (CollUtil.isEmpty(r.getData().getRecords())) { + return r; + } - Set processInstanceIdSet = r.getData() - .getRecords() - .stream() - .map(TaskDto::getProcessInstanceId) - .collect(Collectors.toSet()); + Set processInstanceIdSet = r.getData() + .getRecords() + .stream() + .map(TaskDto::getProcessInstanceId) + .collect(Collectors.toSet()); - // 流程实例记录 - List processInstanceRecordList = processInstanceRecordService.lambdaQuery() - .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet) - .list(); + // 流程实例记录 + List processInstanceRecordList = processInstanceRecordService.lambdaQuery() + .in(ProcessInstanceRecord::getProcessInstanceId, processInstanceIdSet) + .list(); - // 发起人 + // 发起人 // 发起人 List collect = processInstanceRecordList.stream().map(ProcessInstanceRecord::getUserId).collect(Collectors.toList()); List startUserList = userService.getUserById(collect).getData(); - Page pageResultDto = r.getData(); - List taskDtoList = new ArrayList<>(); - for (TaskDto record : r.getData().getRecords()) { - ProcessInstanceRecord processInstanceRecord = processInstanceRecordList.stream() - .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())) - .findAny() - .orElse(null); + Page pageResultDto = r.getData(); + List taskDtoList = new ArrayList<>(); + for (TaskDto record : r.getData().getRecords()) { + ProcessInstanceRecord processInstanceRecord = processInstanceRecordList.stream() + .filter(w -> StrUtil.equals(w.getProcessInstanceId(), record.getProcessInstanceId())) + .findAny() + .orElse(null); - if (processInstanceRecord != null) { - record.setProcessName(processInstanceRecord.getName()); - SysUser startUser = startUserList.stream() - .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()) - .findAny() - .orElse(null); + if (processInstanceRecord != null) { + record.setProcessName(processInstanceRecord.getName()); + SysUser startUser = startUserList.stream() + .filter(w -> w.getUserId().longValue() == processInstanceRecord.getUserId()) + .findAny() + .orElse(null); - record.setRootUserId(processInstanceRecord.getUserId()); - record.setGroupName(processInstanceRecord.getGroupName()); - record.setRootUserName(startUser.getUsername()); - record.setRootUserAvatarUrl(startUser.getAvatar()); - record.setStartTime(processInstanceRecord.getCreateTime()); + record.setRootUserId(processInstanceRecord.getUserId()); + record.setGroupName(processInstanceRecord.getGroupName()); + record.setRootUserName(startUser.getUsername()); + record.setRootUserAvatarUrl(startUser.getAvatar()); + record.setStartTime(processInstanceRecord.getCreateTime()); - taskDtoList.add(record); - } - } + taskDtoList.add(record); + } + } - pageResultDto.setRecords(taskDtoList); + pageResultDto.setRecords(taskDtoList); - return R.ok(pageResultDto); + return R.ok(pageResultDto); } /**