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

import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.manage.pojo.dto.CpSendMsgResultDTO;
import com.zanxiang.game.module.mybatis.entity.CpSendMsgLog;
import com.zanxiang.game.module.mybatis.entity.CpSendMsgResult;
import com.zanxiang.game.module.mybatis.entity.GameSupper;

import java.util.List;

/**
 * @author : lingfeng
 * @time : 2024-03-14
 * @description : CP消息发送记录
 */
public interface ICpSendMsgLogService extends IService<CpSendMsgLog> {

    /**
     * 消息重发
     *
     * @param text              : 文本
     * @param cpSendMsgLog      : 执行日志
     * @param sendMsgResultList : 发送结果列表
     */
    void reCpSendMsg(String text, CpSendMsgLog cpSendMsgLog, List<CpSendMsgResult> sendMsgResultList);

    /**
     * CP发送消息
     *
     * @param taskId     : 任务id
     * @param gameId     : 游戏od
     * @param text       : 文本内容
     * @param roleIdList : 角色列表
     */
    void cpSendMsg(Long taskId, Long gameId, String text, List<String> roleIdList);

    /**
     * CP发送消息API
     *
     * @param gameSupper : 超父游戏
     * @param msgId      : 消息id
     * @param serverId   : 区服id
     * @param text       : 文本
     * @param roleIdList : 角色id列表
     * @return : 返回发送结果
     */
    CpSendMsgResultDTO cpSendMsgApi(GameSupper gameSupper, String msgId, String serverId, String text, List<String> roleIdList);
}
