From 98afe63eb54599d755a4bb68ccf7aac6965a37a3 Mon Sep 17 00:00:00 2001 From: cobight Date: Sat, 18 Nov 2023 20:11:27 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=AE=A1=E6=89=B9=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E3=80=81=E9=A9=B3=E5=9B=9E=EF=BC=8Cact=5Fhi=5Fcomment=E8=A1=A8?= =?UTF-8?q?=E6=B2=A1=E6=9C=89USER=5FID=5F=E4=B8=BAnull=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/workflow/service/impl/WfTaskServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java index 840e146d..2ba790a8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfTaskServiceImpl.java @@ -73,6 +73,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ } // 获取 bpmn 模型 BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); if (DelegationState.PENDING.equals(task.getDelegationState())) { taskService.addComment(taskBo.getTaskId(), taskBo.getProcInsId(), FlowComment.DELEGATE.getType(), taskBo.getComment()); taskService.resolveTask(taskBo.getTaskId()); @@ -128,6 +129,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ .processDefinitionId(task.getProcessDefinitionId()) .singleResult(); + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); // 添加审批意见 taskService.addComment(taskBo.getTaskId(), taskBo.getProcInsId(), FlowComment.REJECT.getType(), taskBo.getComment()); // 设置流程状态为已终结 @@ -195,6 +197,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ currentTaskIds.add(runTask.getId()); } })); + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); // 设置回退意见 for (String currentTaskId : currentTaskIds) { taskService.addComment(currentTaskId, task.getProcessInstanceId(), FlowComment.REBACK.getType(), bo.getComment()); @@ -266,6 +269,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ @Override public void deleteTask(WfTaskBo bo) { // todo 待确认删除任务是物理删除任务 还是逻辑删除,让这个任务直接通过? + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); taskService.deleteTask(bo.getTaskId(), bo.getComment()); } @@ -319,6 +323,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ if (StringUtils.isNotBlank(bo.getComment())) { commentBuilder.append(": ").append(bo.getComment()); } + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); // 添加审批意见 taskService.addComment(bo.getTaskId(), task.getProcessInstanceId(), FlowComment.DELEGATE.getType(), commentBuilder.toString()); // 设置办理人为当前登录人 @@ -358,6 +363,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ if (StringUtils.isNotBlank(bo.getComment())) { commentBuilder.append(": ").append(bo.getComment()); } + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); // 添加审批意见 taskService.addComment(bo.getTaskId(), task.getProcessInstanceId(), FlowComment.TRANSFER.getType(), commentBuilder.toString()); // 设置拥有者为当前登录人 @@ -456,6 +462,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ // 获取所有激活的任务节点,找到需要撤回的任务 List activateTaskList = taskService.createTaskQuery().processInstanceId(procInsId).list(); List revokeExecutionIds = new ArrayList<>(); + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); for (Task task : activateTaskList) { // 检查激活的任务节点是否存在下一级中,如果存在,则加入到需要撤回的节点 if (CollUtil.contains(nextUserTaskKeys, task.getTaskDefinitionKey())) { @@ -555,6 +562,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ List tasks = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).list(); if (CollUtil.isNotEmpty(tasks)) { String userIdStr = (String) variables.get(TaskConstants.PROCESS_INITIATOR); + identityService.setAuthenticatedUserId(TaskUtils.getUserId()); for (Task task : tasks) { if (StrUtil.equals(task.getAssignee(), userIdStr)) { taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), LoginHelper.getNickName() + "发起流程申请");