¶Ô±ÈÐÂÎļþ |
| | |
| | | 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("å叿µç¨äºä»¶ï¼ç§æ·ID: {}, æµç¨ç¶æ: {}, æµç¨ç¼ç : {}, ä¸å¡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); |
| | | } |
| | | |
| | | } |