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

import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.manage.pojo.dto.KfWebSocketMsgDTO;
import com.zanxiang.game.module.manage.pojo.params.KfWebSocketMsgParam;
import com.zanxiang.game.module.mybatis.entity.KfRoom;
import com.zanxiang.game.module.mybatis.entity.KfRoomMsg;
import reactor.util.function.Tuple2;

import java.util.List;

/**
 * @author : lingfeng
 * @time : 2024-02-23
 * @description : 客服房间消息
 */
public interface IKfRoomMsgService extends IService<KfRoomMsg> {

    /**
     * 分页获取房间历史消息
     *
     * @param roomId   : 房间id
     * @param pageBean : 分页条件
     * @return : 返回分页数据
     */
    Tuple2<KfWebSocketMsgDTO.PageBean, List<KfWebSocketMsgDTO.RoomMsgBean>> msgRoomHistory(Long roomId, KfWebSocketMsgParam.PageBean pageBean);

    /**
     * 发送消息保存
     *
     * @param gameId     : 游戏id
     * @param kfRoom     : 房间
     * @param msgContent : 消息内容
     * @return : 返回保存结果
     */
    boolean sendMsgSave(Long gameId, KfRoom kfRoom, KfWebSocketMsgParam.MsgContentBean msgContent);
}
