package cn.axzo.msg.center.notices.service.api;

import cn.azxo.framework.common.model.JobPageRequest;

/**
 * 定时任务服务类
 *
 * @author zhaoyong_sh
 * @see TaskService
 * @since 2021-05-19 15:47
 */
public interface TaskService {

    /**
     * 处理短信发送异常(阿里云)
     * @param request
     */
    void aliYunProcessSendMessageException(JobPageRequest request);

    /**
     * 发送中的短信补偿(阿里云)
     * @param request
     */
    void aliYunMessageProcessingHandle(JobPageRequest request);

    /**
     * 短信拆分发送批次
     * @param request
     */
    void batchMessageRequestSplitHandle(JobPageRequest request);

    /**
     * 短信发送批次拆分
     */
    void batchMessageSendSplitHandle(JobPageRequest request);

    /**
     * 按照批次批量发送消息
     * @param request
     */
    void batchSendMessage(JobPageRequest request);

    /**
     * 实时批量消息请求拆分补偿任务
     * @param request
     */
    void realBatchMessageRequestSplitCompensation(JobPageRequest request);

    /**
     * 实时批量消息拆分补偿任务
     * @param request
     */
    void realBatchMessageSplitCompensation(JobPageRequest request);

    /**
     * 批量请求计数补偿
     * @param request
     */
    void batchMessageRequestCountCompensation(JobPageRequest request);

}
