From 967cc6e4f7912daca197eb2cef6c3574238c2b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 15 Jul 2025 17:03:57 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=9C=A8=E7=9B=91=E5=90=AC=E5=99=A8=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/api/event/ProcessEvent.java | 5 +++++ .../workflow/api/event/ProcessTaskEvent.java | 5 +++++ .../handler/FlowProcessEventHandler.java | 2 ++ .../listener/WorkflowGlobalListener.java | 17 ++++++----------- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java index 937a93115..b98e1fb2c 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessEvent.java @@ -30,6 +30,11 @@ public class ProcessEvent extends RemoteApplicationEvent { */ private String flowCode; + /** + * 实例id + */ + private Long instanceId; + /** * 业务id */ diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java index 7a5ef7c58..fed057603 100644 --- a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/event/ProcessTaskEvent.java @@ -50,6 +50,11 @@ public class ProcessTaskEvent extends RemoteApplicationEvent { */ private Long taskId; + /** + * 实例id + */ + private Long instanceId; + /** * 业务id */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java index 28bf9279a..b35f9c4ae 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java @@ -39,6 +39,7 @@ public class FlowProcessEventHandler { ProcessEvent processEvent = new ProcessEvent(); processEvent.setTenantId(tenantId); processEvent.setFlowCode(flowCode); + processEvent.setInstanceId(instance.getId()); processEvent.setBusinessId(instance.getBusinessId()); processEvent.setNodeType(instance.getNodeType()); processEvent.setNodeCode(instance.getNodeCode()); @@ -64,6 +65,7 @@ public class FlowProcessEventHandler { ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); processTaskEvent.setTenantId(tenantId); processTaskEvent.setFlowCode(flowCode); + processTaskEvent.setInstanceId(instance.getId()); processTaskEvent.setBusinessId(instance.getBusinessId()); processTaskEvent.setNodeType(instance.getNodeType()); processTaskEvent.setNodeCode(instance.getNodeCode()); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index c8997a695..e6d80311f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -8,7 +8,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.utils.StringUtils; -import org.dromara.warm.flow.core.FlowEngine; import org.dromara.warm.flow.core.dto.FlowParams; import org.dromara.warm.flow.core.entity.Definition; import org.dromara.warm.flow.core.entity.Instance; @@ -16,7 +15,6 @@ import org.dromara.warm.flow.core.entity.Task; import org.dromara.warm.flow.core.listener.GlobalListener; import org.dromara.warm.flow.core.listener.ListenerVariable; import org.dromara.warm.flow.core.service.InsService; -import org.dromara.warm.flow.orm.entity.FlowInstance; import org.dromara.warm.flow.orm.entity.FlowTask; import org.dromara.workflow.common.ConditionalOnEnable; import org.dromara.workflow.common.constant.FlowConstant; @@ -166,15 +164,12 @@ public class WorkflowGlobalListener implements GlobalListener { flwCommonService.sendMessage(definition.getFlowName(), instance.getId(), messageType, notice); } } - FlowInstance ins = new FlowInstance(); - Map variableMap = instance.getVariableMap(); - variableMap.remove(FlowConstant.FLOW_COPY_LIST); - variableMap.remove(FlowConstant.MESSAGE_TYPE); - variableMap.remove(FlowConstant.MESSAGE_NOTICE); - variableMap.remove(FlowConstant.SUBMIT); - ins.setId(instance.getId()); - ins.setVariable(FlowEngine.jsonConvert.objToStr(variableMap)); - insService.updateById(ins); + insService.removeVariables(instance.getId(), + FlowConstant.FLOW_COPY_LIST, + FlowConstant.MESSAGE_TYPE, + FlowConstant.MESSAGE_NOTICE, + FlowConstant.SUBMIT + ); } /**