diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 686df0393..57bab4363 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -148,8 +148,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { if (CollUtil.isEmpty(flowCopyList)) { return; } - WorkflowContext context = new WorkflowContext(); - context.setHandler(LoginHelper.getUserIdStr()); + WorkflowContext context = WorkflowContext.create(LoginHelper.getUserIdStr()); context.setMessage("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopyBo::getNickName)); // 抄送留痕交给引擎:按「同一待办 + 同一人」幂等,抄送人挂在抄送历史主键上,办结后仍可补抄送。 HisTask copyHis = taskService.copy(task.getId() @@ -573,7 +572,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { List nextFlowNodes = BeanUtil.copyToList(nextNodeList, FlowNode.class); //构建以下节点数据 List buildNextTaskList = StreamUtils.toList(nextNodeList, node -> taskService.addTask(node, instance - , definition, new WorkflowContext(), SkipType.PASS.getKey())); + , definition, WorkflowContext.create(), SkipType.PASS.getKey())); //办理人变量替换 ExpressionUtil.evalVariable(buildNextTaskList, mergeVariable, null, false); Map> map = StreamUtils.toMap(buildNextTaskList, Task::getNodeCode, Task::getPermissionList); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java index f4067f534..b1f5e23e6 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WorkflowServiceImpl.java @@ -191,7 +191,7 @@ public class WorkflowServiceImpl implements WorkflowService { throw new ServiceException("消息启动参数不能为空"); } return FlowEngine.insService().startByMessage(request.getBusinessId(), request.getFlowCode(), - request.getEventName(), request.getPayload(), eventContext(request.getHandler())).getId(); + request.getEventName(), request.getPayload(), WorkflowContext.create(request.getHandler())).getId(); } /** @@ -207,7 +207,7 @@ public class WorkflowServiceImpl implements WorkflowService { throw new ServiceException("消息事件参数不能为空"); } return FlowEngine.insService().triggerMessage(request.getInstanceId(), request.getEventName(), - request.getPayload(), eventContext(request.getHandler())).getId(); + request.getPayload(), WorkflowContext.create(request.getHandler())).getId(); } /** @@ -225,7 +225,7 @@ public class WorkflowServiceImpl implements WorkflowService { String businessId = StringUtils.isNotBlank(request.getBusinessId()) ? request.getBusinessId().trim() : String.valueOf(IdWorker.getId()); return FlowEngine.insService().startByTimer(businessId, request.getDefinitionId(), - request.getNodeCode(), request.getPayload(), eventContext(request.getHandler())).getId(); + request.getNodeCode(), request.getPayload(), WorkflowContext.create(request.getHandler())).getId(); } /** @@ -256,15 +256,4 @@ public class WorkflowServiceImpl implements WorkflowService { return FlowEngine.taskService().throwError(taskId, errorCode, errorMessage); } - /** - * 构建事件上下文 - * - * @param handler 操作人 - * @return 事件上下文 - */ - private WorkflowContext eventContext(String handler) { - WorkflowContext context = new WorkflowContext(); - context.setHandler(StringUtils.isNotBlank(handler) ? handler : FlowEngine.getFlowConfig().getSystemHandler()); - return context; - } }