package cn.axzo.workflow.core.listener;

import cn.axzo.workflow.core.common.context.OperationContext;
import cn.axzo.workflow.core.engine.event.MessagePushEvent;
import org.springframework.core.Ordered;

/**
 * 消息推送事件
 *
 * @author wangli
 * @since 2023/11/22 14:54
 */
public interface BpmnMessagePushEventListener extends OperationContext, Ordered {

    /**
     * 推送站内信
     *
     * @param event
     */
    default void onNotice(MessagePushEvent event) {
    }

    /**
     * 推送待办
     *
     * @param event
     */
    default void onPendingPush(MessagePushEvent event) {
    }

    /**
     * 完成待办
     *
     * @param event
     */
    default void onPendingComplete(MessagePushEvent event) {
    }

    /**
     * 抄送
     *
     * @param event
     */
    default void onCarbonCopy(MessagePushEvent event) {
    }

    /**
     * 完成抄送
     *
     * @param event
     */
    default void onCarbonCopyComplete(MessagePushEvent event) {

    }

    /**
     * 推送短信
     *
     * @param event
     */
    default void onSms(MessagePushEvent event) {
    }
}
