From 214cbac9a6864b72406a8e70aac42113e1f4f9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Wed, 19 Feb 2025 09:43:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20ProcessTaskEvent?= =?UTF-8?q?=20=E6=94=B9=E5=90=8D=E4=B8=BA=20ProcessCreateTaskEvent=20?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E9=94=99=E8=AF=AF=E7=90=86=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...Event.java => ProcessCreateTaskEvent.java} | 4 ++-- .../handler/FlowProcessEventHandler.java | 22 +++++++++---------- .../listener/WorkflowGlobalListener.java | 2 +- .../service/impl/TestLeaveServiceImpl.java | 20 ++++++++--------- 4 files changed, 24 insertions(+), 24 deletions(-) rename ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/{ProcessTaskEvent.java => ProcessCreateTaskEvent.java} (85%) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessCreateTaskEvent.java similarity index 85% rename from ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java rename to ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessCreateTaskEvent.java index 33bc6e5a6..05047ab84 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessCreateTaskEvent.java @@ -6,12 +6,12 @@ import java.io.Serial; import java.io.Serializable; /** - * 流程办理监听 + * 流程创建任务监听 * * @author may */ @Data -public class ProcessTaskEvent implements Serializable { +public class ProcessCreateTaskEvent implements Serializable { @Serial private static final long serialVersionUID = 1L; diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java index 4b215ef60..3efc52da8 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java @@ -1,9 +1,9 @@ package org.dromara.workflow.handler; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.domain.event.ProcessCreateTaskEvent; import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessEvent; -import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.workflow.common.ConditionalOnEnable; @@ -23,7 +23,7 @@ import java.util.Map; public class FlowProcessEventHandler { /** - * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等) + * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) * * @param flowCode 流程定义编码 * @param businessId 业务id @@ -44,23 +44,23 @@ public class FlowProcessEventHandler { } /** - * 执行办理任务监听 + * 执行创建任务监听 * * @param flowCode 流程定义编码 * @param nodeCode 审批节点编码 * @param taskId 任务id * @param businessId 业务id */ - public void processTaskHandler(String flowCode, String nodeCode, Long taskId, String businessId) { + public void processCreateTaskHandler(String flowCode, String nodeCode, Long taskId, String businessId) { String tenantId = TenantHelper.getTenantId(); log.info("发布流程任务事件, 租户ID: {}, 流程编码: {}, 节点编码: {}, 任务ID: {}, 业务ID: {}", tenantId, flowCode, nodeCode, taskId, businessId); - ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); - processTaskEvent.setTenantId(tenantId); - processTaskEvent.setFlowCode(flowCode); - processTaskEvent.setNodeCode(nodeCode); - processTaskEvent.setTaskId(taskId); - processTaskEvent.setBusinessId(businessId); - SpringUtils.context().publishEvent(processTaskEvent); + ProcessCreateTaskEvent processCreateTaskEvent = new ProcessCreateTaskEvent(); + processCreateTaskEvent.setTenantId(tenantId); + processCreateTaskEvent.setFlowCode(flowCode); + processCreateTaskEvent.setNodeCode(nodeCode); + processCreateTaskEvent.setTaskId(taskId); + processCreateTaskEvent.setBusinessId(businessId); + SpringUtils.context().publishEvent(processCreateTaskEvent); } /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java index b18785484..272f9de92 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/listener/WorkflowGlobalListener.java @@ -52,7 +52,7 @@ public class WorkflowGlobalListener implements GlobalListener { Task task = listenerVariable.getTask(); if (task != null && BusinessStatusEnum.WAITING.getStatus().equals(flowStatus)) { // 判断流程状态(发布审批中事件) - flowProcessEventHandler.processTaskHandler(definition.getFlowCode(), task.getNodeCode(), task.getId(), businessId); + flowProcessEventHandler.processCreateTaskHandler(definition.getFlowCode(), task.getNodeCode(), task.getId(), businessId); } } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java index 2c431737b..537361c3e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TestLeaveServiceImpl.java @@ -9,9 +9,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.domain.event.ProcessCreateTaskEvent; import org.dromara.common.core.domain.event.ProcessDeleteEvent; import org.dromara.common.core.domain.event.ProcessEvent; -import org.dromara.common.core.domain.event.ProcessTaskEvent; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.service.WorkflowService; import org.dromara.common.core.utils.MapstructUtils; @@ -123,7 +123,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService { } /** - * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等) + * 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成,单任务完成等) * 正常使用只需#processEvent.flowCode=='leave1' * 示例为了方便则使用startsWith匹配了全部示例key * @@ -151,19 +151,19 @@ public class TestLeaveServiceImpl implements ITestLeaveService { } /** - * 执行办理任务监听 - * 示例:也可通过 @EventListener(condition = "#processTaskEvent.flowCode=='leave1'")进行判断 + * 执行任务创建监听 + * 示例:也可通过 @EventListener(condition = "#processCreateTaskEvent.flowCode=='leave1'")进行判断 * 在方法中判断流程节点key - * if ("xxx".equals(processTaskEvent.getNodeCode())) { + * if ("xxx".equals(processCreateTaskEvent.getNodeCode())) { * //执行业务逻辑 * } * - * @param processTaskEvent 参数 + * @param processCreateTaskEvent 参数 */ - @EventListener(condition = "#processTaskEvent.flowCode.startsWith('leave')") - public void processTaskHandler(ProcessTaskEvent processTaskEvent) { - log.info("当前任务执行了{}", processTaskEvent.toString()); - TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessId())); + @EventListener(condition = "#processCreateTaskEvent.flowCode.startsWith('leave')") + public void processCreateTaskHandler(ProcessCreateTaskEvent processCreateTaskEvent) { + log.info("当前任务创建了{}", processCreateTaskEvent.toString()); + TestLeave testLeave = baseMapper.selectById(Long.valueOf(processCreateTaskEvent.getBusinessId())); testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); baseMapper.updateById(testLeave); }