package com.ym.mec.biz.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ym.mec.auth.api.entity.SysUser;
import com.ym.mec.biz.dal.entity.ImLiveRoomBlack;
import com.ym.mec.biz.dal.vo.ImLiveRoomBlackVo;
import com.ym.mec.common.page.PageInfo;

import java.util.Map;

/**
 * 直播房间黑名单表(ImLiveRoomBlack)表服务接口
 *
 * @author hgw
 * @since 2022-05-30 14:58:32
 */
public interface ImLiveRoomBlackService extends IService<ImLiveRoomBlack> {

    /**
     * 查询当前机构学生 -下拉框
     *
     * @param param 参数
     *              <p> search - 搜索关键字
     *              <p> roomUid - 房间uid
     */
    PageInfo<SysUser> queryStudentList(Map<String, Object> param);

    /**
     * 添加用户到房间黑名单中
     *
     * @param param 参数
     *              <P> roomUid 直播房间uid
     *              <P> userIdList  用户id
     */
    void add(Map<String, Object> param);

    /**
     * 删除该用户从房间黑名单中移除
     *
     * @param param 参数
     *              <P> roomUid 直播房间uid
     *              <P> userIdList  用户id
     */
    void delete(Map<String, Object> param);

    /**
     * 查询房间的黑名单学生
     * <P> roomUid 直播房间uid
     * <P> search  搜索关键字
     */
    PageInfo<ImLiveRoomBlackVo> queryBlackList(Map<String, Object> param);

    /**
     * 发送黑名单消息到直播房间
     *
     * @param roomUid    房间uid
     * @param fromUserId 发送人id
     * @param userId     用户id
     */
    void sendBlackMsg(String roomUid, Integer fromUserId, Integer userId, String type);
}

