package com.zanxiang.game.module.manage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.base.pojo.dto.SendMsgDTO;
import com.zanxiang.game.module.base.pojo.params.SendMsgTaskParam;
import com.zanxiang.game.module.base.pojo.vo.SendMsgVO;
import com.zanxiang.game.module.base.util.PageUtil;
import com.zanxiang.game.module.mybatis.entity.CpSendMsgTask;
import com.zanxiang.module.util.pojo.ResultVO;

public interface ICpSendMsgTaskService extends IService<CpSendMsgTask> {

    /**
     * 根据任务id重发消息
     *
     * @param gameId : 游戏id
     * @param taskId : 任务id
     * @return : 返回执行结果
     */
    boolean reSendMsgByTaskId(Long gameId, Long taskId);

    /**
     * 单个执行结果重发
     *
     * @param resultId : 结果id
     * @return : 发送结果
     */
    boolean reSendMsgByResultId(Long resultId);

    /**
     * 创建消息任务并发送消息
     *
     * @param sendMsgDto : 发送消息参数
     * @return : 返回发送结果
     */
    ResultVO<Boolean> sendMsg(SendMsgDTO sendMsgDto);

    /**
     * 获取消息任务列表
     *
     * @param param : 参数
     * @return : 返回结果
     */
    PageUtil<SendMsgVO> getSendMsgTaskList(SendMsgTaskParam param);

}
