From 3c8d864b5f68af5167199e0d5c9ff6c0c5852638 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 一月 2025 11:35:45 +0800 Subject: [PATCH] !639 发布 5.3.0-BETA 公测版本 Merge pull request !639 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 0 deletions(-) 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 new file mode 100644 index 0000000..656e013 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/handler/FlowProcessEventHandler.java @@ -0,0 +1,79 @@ +package org.dromara.workflow.handler; + +import lombok.extern.slf4j.Slf4j; +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; +import org.springframework.stereotype.Component; + +/** + * 娴佺▼鐩戝惉鏈嶅姟 + * + * @author may + * @date 2024-06-02 + */ +@ConditionalOnEnable +@Slf4j +@Component +public class FlowProcessEventHandler { + + /** + * 鎬讳綋娴佺▼鐩戝惉(渚嬪: 鑽夌锛屾挙閿�锛岄��鍥烇紝浣滃簾锛岀粓姝紝宸插畬鎴愮瓑) + * + * @param flowCode 娴佺▼瀹氫箟缂栫爜 + * @param businessId 涓氬姟id + * @param status 鐘舵�� + * @param submit 褰撲负true鏃朵负鐢宠浜鸿妭鐐瑰姙鐞� + */ + public void processHandler(String flowCode, String businessId, String status, boolean submit) { + String tenantId = TenantHelper.getTenantId(); + log.info("鍙戝竷娴佺▼浜嬩欢锛岀鎴稩D: {}, 娴佺▼鐘舵��: {}, 娴佺▼缂栫爜: {}, 涓氬姟ID: {}, 鏄惁鐢宠浜鸿妭鐐瑰姙鐞�: {}", tenantId, status, flowCode, businessId, submit); + ProcessEvent processEvent = new ProcessEvent(); + processEvent.setTenantId(tenantId); + processEvent.setFlowCode(flowCode); + processEvent.setBusinessId(businessId); + processEvent.setStatus(status); + processEvent.setSubmit(submit); + SpringUtils.context().publishEvent(processEvent); + } + + /** + * 鎵ц鍔炵悊浠诲姟鐩戝惉 + * + * @param flowCode 娴佺▼瀹氫箟缂栫爜 + * @param nodeCode 瀹℃壒鑺傜偣缂栫爜 + * @param taskId 浠诲姟id + * @param businessId 涓氬姟id + */ + public void processTaskHandler(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); + } + + /** + * 鍒犻櫎娴佺▼鐩戝惉 + * + * @param flowCode 娴佺▼瀹氫箟缂栫爜 + * @param businessId 涓氬姟ID + */ + public void processDeleteHandler(String flowCode, String businessId) { + String tenantId = TenantHelper.getTenantId(); + log.info("鍙戝竷鍒犻櫎娴佺▼浜嬩欢, 绉熸埛ID: {}, 娴佺▼缂栫爜: {}, 涓氬姟ID: {}", tenantId, flowCode, businessId); + ProcessDeleteEvent processDeleteEvent = new ProcessDeleteEvent(); + processDeleteEvent.setTenantId(tenantId); + processDeleteEvent.setFlowCode(flowCode); + processDeleteEvent.setBusinessId(businessId); + SpringUtils.context().publishEvent(processDeleteEvent); + } + +} -- Gitblit v1.9.3