package com.yonge.cooleshow.biz.dal.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.microsvc.toolkit.middleware.rtc.message.RTCRoomConfig;
import com.yonge.cooleshow.biz.dal.dao.ImNetworkRoomDao;
import com.yonge.cooleshow.biz.dal.dto.BasicUserInfo;
import com.yonge.cooleshow.biz.dal.dto.ImNetworkDisplayDataDto;
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoom;
import com.yonge.cooleshow.biz.dal.entity.ImNetworkRoomMember;
import com.yonge.cooleshow.biz.dal.enums.RoleEnum;

/**
 * 网络教室房间(ImNetworkRoom)表服务接口
 *
 * @author zx
 * @since 2022-03-30 16:36:36
 */
public interface RoomService extends IService<ImNetworkRoom> {

    ImNetworkRoomDao getDao();

    //初始化网络教室基本信息
    ImNetworkRoom initRoom(String roomId, RoleEnum userRole, String imUserId) throws Exception;

    //获取腾讯相关房间配置信息
    RTCRoomConfig getRtcRoomConfig(String serviceProvider, ImNetworkRoomMember roomMember);

    //用户成功推出房间
    void quitRoomSuccess(RoleEnum roleEnum,String imUserId,String roomId, String serviceProvider) throws Exception;

    //修改节拍器
    void updateDisplay(ImNetworkRoomMember roomMember, ImNetworkRoom room, String serviceProvider) throws Exception;

    //移动端用来渲染页面
    void display(ImNetworkDisplayDataDto displayData,String serviceProvider) throws Exception;
}

