From a85d51cc8c407316c382f21a093b3969109d48fd Mon Sep 17 00:00:00 2001 From: Lesan <1960681385@qq.com> Date: Thu, 9 Jan 2025 09:26:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0addListenerFieldExtens?= =?UTF-8?q?ion=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flowable/core/util/BpmnModelUtils.java | 8 ++++++++ .../flowable/core/util/SimpleModelUtils.java | 17 +++-------------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java index 9d558cedd9..eb94833a45 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/BpmnModelUtils.java @@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.*; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; +import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.framework.common.util.string.StrUtils; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; @@ -361,6 +362,13 @@ public class BpmnModelUtils { return Convert.toBool(extensionElements.get(0).getElementText(), false); } + public static void addListenerFieldExtension(FlowableListener flowableListener, Object obj) { + FieldExtension fieldExtension = new FieldExtension(); + fieldExtension.setFieldName("listenerConfig"); + fieldExtension.setStringValue(JsonUtils.toJsonString(obj)); + flowableListener.getFieldExtensions().add(fieldExtension); + } + // ========== BPM 简单查找相关的方法 ========== /** diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java index 9fc202548b..174198ccd5 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/util/SimpleModelUtils.java @@ -5,7 +5,6 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.*; import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; -import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO.ConditionGroups; import cn.iocoder.yudao.module.bpm.enums.definition.*; @@ -453,10 +452,7 @@ public class SimpleModelUtils { flowableListener.setEvent(TaskListener.EVENTNAME_CREATE); flowableListener.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION); flowableListener.setImplementation(DELEGATE_EXPRESSION); - FieldExtension fieldExtension = new FieldExtension(); - fieldExtension.setFieldName("listenerConfig"); - fieldExtension.setStringValue(JsonUtils.toJsonString(node.getTaskCreateListener())); - flowableListener.getFieldExtensions().add(fieldExtension); + addListenerFieldExtension(flowableListener, node.getTaskCreateListener()); flowableListeners.add(flowableListener); } if (node.getTaskAssignListener() != null @@ -465,11 +461,7 @@ public class SimpleModelUtils { flowableListener.setEvent(TaskListener.EVENTNAME_ASSIGNMENT); flowableListener.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION); flowableListener.setImplementation(DELEGATE_EXPRESSION); - // TODO @lesan:可以在 BpmnModelUtils 搞个方法,类似 public static Integer parseCandidateStrategy。这样,就收敛啦! - FieldExtension fieldExtension = new FieldExtension(); - fieldExtension.setFieldName("listenerConfig"); - fieldExtension.setStringValue(JsonUtils.toJsonString(node.getTaskAssignListener())); - flowableListener.getFieldExtensions().add(fieldExtension); + addListenerFieldExtension(flowableListener, node.getTaskAssignListener()); flowableListeners.add(flowableListener); } if (node.getTaskCompleteListener() != null @@ -478,10 +470,7 @@ public class SimpleModelUtils { flowableListener.setEvent(TaskListener.EVENTNAME_COMPLETE); flowableListener.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION); flowableListener.setImplementation(DELEGATE_EXPRESSION); - FieldExtension fieldExtension = new FieldExtension(); - fieldExtension.setFieldName("listenerConfig"); - fieldExtension.setStringValue(JsonUtils.toJsonString(node.getTaskCompleteListener())); - flowableListener.getFieldExtensions().add(fieldExtension); + addListenerFieldExtension(flowableListener, node.getTaskCompleteListener()); flowableListeners.add(flowableListener); } if (CollUtil.isNotEmpty(flowableListeners)) {