1. 支持多流程定义实例监听回调复用实现类

This commit is contained in:
chenbowen
2025-08-13 11:34:30 +08:00
parent 3c47dc3e29
commit 8088a08c0f
2 changed files with 9 additions and 6 deletions

View File

@@ -1,8 +1,9 @@
package cn.iocoder.yudao.module.bpm.api.event;
import cn.hutool.core.util.StrUtil;
import org.springframework.context.ApplicationListener;
import java.util.List;
/**
* {@link BpmProcessInstanceStatusEvent} 的监听器
*
@@ -13,8 +14,8 @@ public abstract class BpmProcessInstanceStatusEventListener
@Override
public final void onApplicationEvent(BpmProcessInstanceStatusEvent event) {
if (!StrUtil.equals(event.getProcessDefinitionKey(), getProcessDefinitionKey())) {
return;
if (getProcessDefinitionKey().contains(event.getProcessDefinitionKey())){
onEvent(event);
}
onEvent(event);
}
@@ -22,7 +23,7 @@ public abstract class BpmProcessInstanceStatusEventListener
/**
* @return 返回监听的流程定义 Key
*/
protected abstract String getProcessDefinitionKey();
protected abstract List<String> getProcessDefinitionKey();
/**
* 处理事件

View File

@@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.bpm.service.oa.BpmOALeaveServiceImpl;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* OA 请假单的结果的监听器实现类
*
@@ -19,8 +21,8 @@ public class BpmOALeaveStatusListener extends BpmProcessInstanceStatusEventListe
private BpmOALeaveService leaveService;
@Override
protected String getProcessDefinitionKey() {
return BpmOALeaveServiceImpl.PROCESS_KEY;
protected List<String> getProcessDefinitionKey() {
return List.of(BpmOALeaveServiceImpl.PROCESS_KEY);
}
@Override