From 96b6f32d3c30d784fc15459eca067be667413e73 Mon Sep 17 00:00:00 2001 From: wangli <274027703@qq.com> Date: Wed, 6 Dec 2023 20:34:49 +0800 Subject: [PATCH] =?UTF-8?q?update=20-=20=E6=B5=81=E7=A8=8B=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E7=9A=84=E9=80=9A=E8=BF=87=E6=88=96=E9=A9=B3=E5=9B=9E?= =?UTF-8?q?,=E9=83=BD=E5=8E=BB=E5=AE=8C=E6=88=90=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/model/response/mq/ProcessInstanceDTO.java | 5 +++++ .../process/RocketMqBpmnProcessEventListener.java | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/mq/ProcessInstanceDTO.java b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/mq/ProcessInstanceDTO.java index d65b6a1d3..6eef5203a 100644 --- a/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/mq/ProcessInstanceDTO.java +++ b/workflow-engine-common/src/main/java/cn/axzo/workflow/common/model/response/mq/ProcessInstanceDTO.java @@ -88,4 +88,9 @@ public class ProcessInstanceDTO implements Serializable { * 取消流程实例的特殊字段 */ private String cancelReason; + + /** + * 待办消息的 ID + */ + private String pendingMessageId; } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/RocketMqBpmnProcessEventListener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/RocketMqBpmnProcessEventListener.java index 72ff9aaa2..e2551c09c 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/RocketMqBpmnProcessEventListener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/process/RocketMqBpmnProcessEventListener.java @@ -5,9 +5,11 @@ import cn.axzo.framework.rocketmq.EventProducer; import cn.axzo.workflow.common.enums.ProcessInstanceEventEnum; import cn.axzo.workflow.common.model.request.bpmn.task.BpmnTaskDelegateAssigner; import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO; +import cn.axzo.workflow.core.common.utils.BpmnMetaParserHelper; import cn.axzo.workflow.core.listener.BpmnProcessEventListener; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; +import org.flowable.bpmn.model.BpmnModel; import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; import org.flowable.engine.RepositoryService; import org.flowable.engine.delegate.event.FlowableCancelledEvent; @@ -164,6 +166,11 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene .setBusinessKey(((FlowableProcessCancelledEventImpl) event).getExecution().getProcessInstanceBusinessKey()) .setBusinessProcessInstanceName(((ExecutionEntityImpl) ((FlowableProcessCancelledEventImpl) event).getExecution()).getName()) .setCancelReason(String.valueOf(event.getCause())); + BpmnModel bpmnModel = repositoryService.getBpmnModel(event.getProcessDefinitionId()); + BpmnMetaParserHelper.getNoticeConfig(bpmnModel.getMainProcess()) + .ifPresent(i -> { + dto.setPendingMessageId(i.getPending().getPendingMessageId()); + }); if (log.isDebugEnabled()) { log.debug("RocketMqBpmProcessEventListener#onRejected MQ.Data: {}", JSON.toJSONString(dto)); } @@ -194,6 +201,11 @@ public class RocketMqBpmnProcessEventListener implements BpmnProcessEventListene .setTenantId(((ExecutionEntityImpl) event.getEntity()).getTenantId()) .setBusinessKey(((ExecutionEntityImpl) event.getEntity()).getProcessInstanceBusinessKey()) .setBusinessProcessInstanceName(((ExecutionEntityImpl) event.getEntity()).getName()); + BpmnModel bpmnModel = repositoryService.getBpmnModel(event.getProcessDefinitionId()); + BpmnMetaParserHelper.getNoticeConfig(bpmnModel.getMainProcess()) + .ifPresent(i -> { + dto.setPendingMessageId(i.getPending().getPendingMessageId()); + }); if (log.isDebugEnabled()) { log.debug("RocketMqBpmProcessEventListener#onCompleted MQ.Data: {}", JSON.toJSONString(dto)); }