From 172a4b735cc9456078156f45fb17749213ecf8b3 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Mon, 20 May 2024 09:49:47 +0800 Subject: [PATCH] =?UTF-8?q?update(REQ-2393)=20-=20=E4=BC=98=E5=8C=96=20Act?= =?UTF-8?q?ivity=20=E7=9B=B8=E5=85=B3=E6=93=8D=E4=BD=9C=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E7=9A=84=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RocketMqBpmActivityEventListener.java | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/activity/RocketMqBpmActivityEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/activity/RocketMqBpmActivityEventListener.java index 4eb134156..28adbce92 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/activity/RocketMqBpmActivityEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/activity/RocketMqBpmActivityEventListener.java @@ -68,7 +68,7 @@ public class RocketMqBpmActivityEventListener extends AbstractBpmnEventListener< ProcessActivityDTO dto = build(PROCESS_ACTIVITY_START, execution); sendMessageQueue(dto, PROCESS_ACTIVITY_START); log.info("RocketMqBpmActivityEventListener#onStart...end, activityId: {}", - execution.getCurrentActivityId()); + execution.getCurrentActivityId()); } @@ -82,19 +82,18 @@ public class RocketMqBpmActivityEventListener extends AbstractBpmnEventListener< dto.setActivityName(event.getActivityName()); dto.setProcessInstanceId(event.getProcessInstanceId()); dto.setProcessDefinitionId(event.getProcessDefinitionId()); - ProcessInstance processInstance = - runtimeService.createProcessInstanceQuery().processInstanceId(event.getProcessInstanceId()).singleResult(); + ProcessInstance processInstance = getContext().getProcessInstance(() -> + runtimeService.createProcessInstanceQuery() + .processInstanceId(event.getProcessInstanceId()) + .includeProcessVariables() + .singleResult()); if (Objects.nonNull(processInstance)) { dto.setProcessDefinitionKey(processInstance.getProcessDefinitionKey()); dto.setBusinessKey(processInstance.getBusinessKey()); } dto.setTriggerId(event.getExecutionId()); dto.setVariables(event.getVariables()); - String version = (String) runtimeService.getVariable(event.getProcessInstanceId(), WORKFLOW_ENGINE_VERSION); - if (Objects.isNull(version)) { - version = FLOW_SERVER_VERSION_121; - } - dto.setWorkflowEngineVersion(version); + dto.setWorkflowEngineVersion(String.valueOf(event.getVariables().getOrDefault(WORKFLOW_ENGINE_VERSION, FLOW_SERVER_VERSION_121))); sendMessageQueue(dto, PROCESS_ACTIVITY_WAIT_ASSIGNEE); log.info("RocketMqBpmActivityEventListener#onWaitAssignee...end, activityId: {}", event.getActivityId()); } @@ -102,27 +101,27 @@ public class RocketMqBpmActivityEventListener extends AbstractBpmnEventListener< @Override public void onTake(DelegateExecution execution) { log.info("RocketMqBpmActivityEventListener#onTake...activityId: {}", - execution.getCurrentActivityId()); + execution.getCurrentActivityId()); ProcessActivityDTO dto = build(PROCESS_ACTIVITY_TAKE, execution); handlePassedAssignee(execution, dto); sendMessageQueue(dto, PROCESS_ACTIVITY_TAKE); log.info("RocketMqBpmActivityEventListener#onTake...end, activityId: {}", - execution.getCurrentActivityId()); + execution.getCurrentActivityId()); } @Override public void onEnd(DelegateExecution execution) { log.info("RocketMqMessagePushEventListener#onEnd...activityId: {}", - execution.getCurrentActivityId()); + execution.getCurrentActivityId()); ProcessActivityDTO dto = build(PROCESS_ACTIVITY_END, execution); handlePassedAssignee(execution, dto); sendMessageQueue(dto, PROCESS_ACTIVITY_END); log.info("RocketMqBpmActivityEventListener#onEnd...end, activityId: {}", - execution.getCurrentActivityId()); + execution.getCurrentActivityId()); } private ProcessActivityDTO build(ProcessActivityEventEnum type, DelegateExecution execution) { @@ -135,18 +134,18 @@ public class RocketMqBpmActivityEventListener extends AbstractBpmnEventListener< dto.setTriggerId(execution.getId()); dto.setActivityId(execution.getCurrentActivityId()); dto.setActivityName(((ExecutionEntityImpl) execution).getCurrentActivityName()); - ProcessInstance processInstance = - runtimeService.createProcessInstanceQuery().processInstanceId(execution.getProcessInstanceId()).includeProcessVariables().singleResult(); + ProcessInstance processInstance = getContext().getProcessInstance(() -> + runtimeService.createProcessInstanceQuery().processInstanceId(execution.getProcessInstanceId()) + .includeProcessVariables().singleResult()); if (Objects.nonNull(processInstance)) { dto.setProcessDefinitionKey(processInstance.getProcessDefinitionKey()); dto.setBusinessKey(processInstance.getBusinessKey()); dto.setVariables(processInstance.getProcessVariables()); + dto.setWorkflowEngineVersion(String.valueOf(processInstance.getProcessVariables() + .getOrDefault(WORKFLOW_ENGINE_VERSION, FLOW_SERVER_VERSION_121))); + } else { + dto.setWorkflowEngineVersion(FLOW_SERVER_VERSION_121); } - String version = (String) runtimeService.getVariable(processInstance.getId(), WORKFLOW_ENGINE_VERSION); - if (Objects.isNull(version)) { - version = FLOW_SERVER_VERSION_121; - } - dto.setWorkflowEngineVersion(version); Process mainProcess = repositoryService.getBpmnModel(execution.getProcessDefinitionId()).getMainProcess(); BpmnMetaParserHelper.getNoticeConfig(mainProcess).ifPresent(dto::setNoticeConf); return dto;