fix: 添加addListenerFieldExtension方法

This commit is contained in:
Lesan 2025-01-09 09:26:07 +08:00
parent 343991445f
commit a85d51cc8c
2 changed files with 11 additions and 14 deletions

View File

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

View File

@ -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)) {