update(REQ-2393) - 优化 Activity 相关操作上下文的使用
This commit is contained in:
parent
c5ec9327fd
commit
172a4b735c
@ -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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user