package org.dromara.workflow.flowable.handler; 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.springframework.stereotype.Component; /** * 流程监听服务 * * @author may * @date 2024-06-02 */ @Component public class FlowProcessEventHandler { /** * 总体流程监听(例如: 提交 退回 撤销 终止 作废等) * * @param key 流程key * @param businessKey 业务id * @param status 状态 * @param submit 当为true时为申请人节点办理 */ public void processHandler(String key, String businessKey, String status, boolean submit) { ProcessEvent processEvent = new ProcessEvent(); processEvent.setKey(key); processEvent.setBusinessKey(businessKey); processEvent.setStatus(status); processEvent.setSubmit(submit); SpringUtils.context().publishEvent(processEvent); } /** * 执行办理任务监听 * * @param key 流程key * @param taskDefinitionKey 审批节点key * @param taskId 任务id * @param businessKey 业务id */ public void processTaskHandler(String key, String taskDefinitionKey, String taskId, String businessKey) { ProcessTaskEvent processTaskEvent = new ProcessTaskEvent(); processTaskEvent.setKey(key); processTaskEvent.setTaskDefinitionKey(taskDefinitionKey); processTaskEvent.setTaskId(taskId); processTaskEvent.setBusinessKey(businessKey); SpringUtils.context().publishEvent(processTaskEvent); } }