Ver Fonte

fix: 添加addListenerFieldExtension方法

Lesan há 7 meses atrás
pai
commit
a85d51cc8c

+ 8 - 0
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 简单查找相关的方法 ==========
 
     /**

+ 3 - 14
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)) {