Просмотр исходного кода

update 优化 ProcessTaskEvent 改名为 ProcessCreateTaskEvent 避免错误理解

疯狂的狮子Li 1 год назад
Родитель
Сommit
214cbac9a6

+ 2 - 2
ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/domain/event/ProcessTaskEvent.java → 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;

+ 11 - 11
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);
     }
 
     /**

+ 1 - 1
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);
         }
     }
 

+ 10 - 10
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);
     }