feat(REQ-2616) - Starter 过滤实现增加调整

This commit is contained in:
wangli 2024-08-22 13:44:33 +08:00
parent 608342cec5
commit 0c9a251cde
9 changed files with 30 additions and 14 deletions

View File

@ -1,5 +1,7 @@
package cn.axzo.workflow.starter.handler;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.workflow.common.model.response.mq.MessagePushDTO;
import org.springframework.core.Ordered;
@ -17,9 +19,11 @@ public interface MessageNotificationEventHandler extends Ordered {
* 针对当前接口的实现进行过滤, true 往下执行下面的方法
*
* @param dto
* @param event
* @param context
* @return
*/
default boolean accept(MessagePushDTO dto) {
default boolean accept(MessagePushDTO dto, Event event, EventConsumer.Context context) {
return true;
}

View File

@ -1,5 +1,7 @@
package cn.axzo.workflow.starter.handler;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.workflow.common.model.response.mq.ProcessActivityDTO;
import org.springframework.core.Ordered;
@ -22,9 +24,11 @@ public interface ProcessActivityEventHandler extends Ordered {
* 针对当前接口的实现进行过滤, true 往下执行下面的方法
*
* @param dto
* @param event
* @param context
* @return
*/
default boolean accept(ProcessActivityDTO dto) {
default boolean accept(ProcessActivityDTO dto, Event event, EventConsumer.Context context) {
return true;
}

View File

@ -1,5 +1,7 @@
package cn.axzo.workflow.starter.handler;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.workflow.client.feign.bpmn.ProcessInstanceApi;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
import cn.axzo.workflow.common.model.response.mq.ProcessInstanceDTO;
@ -19,9 +21,11 @@ public interface ProcessInstanceEventHandler extends Ordered {
* 针对当前接口的实现进行过滤, true 往下执行下面的方法
*
* @param dto
* @param event
* @param context
* @return
*/
default boolean accept(ProcessInstanceDTO dto) {
default boolean accept(ProcessInstanceDTO dto, Event event, EventConsumer.Context context) {
return true;
}

View File

@ -1,5 +1,7 @@
package cn.axzo.workflow.starter.handler;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.workflow.common.model.response.mq.ProcessTaskDTO;
import org.springframework.core.Ordered;
@ -19,9 +21,11 @@ public interface ProcessTaskEventHandler extends Ordered {
* 针对当前接口的实现进行过滤, true 往下执行下面的方法
*
* @param dto
* @param event
* @param context
* @return
*/
default boolean accept(ProcessTaskDTO dto) {
default boolean accept(ProcessTaskDTO dto, Event event, EventConsumer.Context context) {
return true;
}

View File

@ -65,12 +65,12 @@ public abstract class AbstractInnerWorkflowListener<H extends Ordered, F extends
}
}
onEvent(convert, context);
onEvent(convert, event, context);
}
protected abstract Target convert(Event event);
protected abstract void onEvent(Target data, EventConsumer.Context context);
protected abstract void onEvent(Target data, Event event, EventConsumer.Context context);
@Override
public boolean dispatch(Event event) {

View File

@ -40,7 +40,7 @@ public class InnerActivityEventListener extends AbstractInnerWorkflowListener<Pr
}
@Override
public void onEvent(ProcessActivityDTO dto, EventConsumer.Context context) {
public void onEvent(ProcessActivityDTO dto, Event event, EventConsumer.Context context) {
log.debug("【{}】new message begin processing, messageId: {}",
this.getClass().getSimpleName(), context.getMsgId());
ProcessActivityEventEnum type = dto.getType();
@ -65,7 +65,7 @@ public class InnerActivityEventListener extends AbstractInnerWorkflowListener<Pr
default:
log.warn("unknown process activity event type: {}", type);
}
if (activityListener.accept(dto)) {
if (activityListener.accept(dto, event, context)) {
listenerExecutor.execute(consumer, context, dto);
}
}

View File

@ -40,7 +40,7 @@ public class InnerInstanceEventListener extends AbstractInnerWorkflowListener<Pr
}
@Override
public void onEvent(ProcessInstanceDTO dto, EventConsumer.Context context) {
public void onEvent(ProcessInstanceDTO dto, Event event, EventConsumer.Context context) {
log.debug("【{}】new message begin processing, messageId: {}",
this.getClass().getSimpleName(), context.getMsgId());
ProcessInstanceEventEnum type = dto.getType();
@ -68,7 +68,7 @@ public class InnerInstanceEventListener extends AbstractInnerWorkflowListener<Pr
default:
log.warn("unknown process activity event type: {}", type);
}
if (instanceListener.accept(dto)) {
if (instanceListener.accept(dto, event, context)) {
listenerExecutor.execute(consumer, context, dto);
}
}

View File

@ -38,7 +38,7 @@ public class InnerNotificationEventListener extends AbstractInnerWorkflowListene
}
@Override
public void onEvent(MessagePushDTO dto, EventConsumer.Context context) {
public void onEvent(MessagePushDTO dto, Event event, EventConsumer.Context context) {
log.debug("【{}】new message begin processing, messageId: {}",
this.getClass().getSimpleName(), context.getMsgId());
ProcessMessagePushEventEnum type = dto.getType();
@ -69,7 +69,7 @@ public class InnerNotificationEventListener extends AbstractInnerWorkflowListene
default:
log.warn("unknown message event type: {}", type);
}
if (noticeListener.accept(dto)) {
if (noticeListener.accept(dto, event, context)) {
listenerExecutor.execute(consumer, context, dto);
}
}

View File

@ -38,7 +38,7 @@ public class InnerTaskEventListener extends AbstractInnerWorkflowListener<Proces
}
@Override
public void onEvent(ProcessTaskDTO dto, EventConsumer.Context context) {
public void onEvent(ProcessTaskDTO dto, Event event, EventConsumer.Context context) {
log.debug("【{}】new message begin processing, messageId: {}",
this.getClass().getSimpleName(), context.getMsgId());
ProcessTaskEventEnum type = dto.getType();
@ -60,7 +60,7 @@ public class InnerTaskEventListener extends AbstractInnerWorkflowListener<Proces
default:
log.warn("unknown task event type: {}", type);
}
if (taskListener.accept(dto)) {
if (taskListener.accept(dto, event, context)) {
listenerExecutor.execute(consumer, context, dto);
}
}