|
|
|
@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.bpm.service.task.listener; |
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
|
import cn.hutool.core.lang.Assert; |
|
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
|
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.enums.definition.BpmListenerParamTypeEnum; |
|
|
|
|
import cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils; |
|
|
|
@ -12,7 +11,6 @@ import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService; |
|
|
|
|
import jakarta.annotation.Resource; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.flowable.bpmn.model.BpmnModel; |
|
|
|
|
import org.flowable.bpmn.model.FieldExtension; |
|
|
|
|
import org.flowable.bpmn.model.FlowableListener; |
|
|
|
|
import org.flowable.bpmn.model.UserTask; |
|
|
|
|
import org.flowable.engine.delegate.TaskListener; |
|
|
|
@ -30,6 +28,7 @@ import java.util.List; |
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID; |
|
|
|
|
import static cn.iocoder.yudao.module.bpm.framework.flowable.core.util.BpmnModelUtils.parseListenerConfig; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* BPM 用户任务通用监听器 |
|
|
|
@ -112,12 +111,7 @@ public class BpmUserTaskListener implements TaskListener { |
|
|
|
|
.filter(item -> item.getEvent().equals(eventName)) |
|
|
|
|
.findFirst().orElse(null); |
|
|
|
|
Assert.notNull(flowableListener, "监听器({})不能为空", flowableListener); |
|
|
|
|
// TODO @lesan:BpmnModelUtils 提供一个 BpmSimpleModelNodeVO.ListenerHandler 解析方法,尽量收敛掉。
|
|
|
|
|
FieldExtension fieldExtension = flowableListener.getFieldExtensions().stream() |
|
|
|
|
.filter(item -> item.getFieldName().equals("listenerConfig")) |
|
|
|
|
.findFirst().orElse(null); |
|
|
|
|
Assert.notNull(fieldExtension, "监听器扩展字段({})不能为空", fieldExtension); |
|
|
|
|
return JsonUtils.parseObject(fieldExtension.getStringValue(), BpmSimpleModelNodeVO.ListenerHandler.class); |
|
|
|
|
return parseListenerConfig(flowableListener); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |