IRemoteMeetingService.java 2.4 KB
package com.skua.modules.remotemeeting.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.remotemeeting.dto.RemoteMeetingAppointmentDto;
import com.skua.modules.remotemeeting.dto.RemoteMeetingCallUserDto;
import com.skua.modules.remotemeeting.dto.RemoteMeetingQueryDto;
import com.skua.modules.remotemeeting.entity.RemoteMeeting;
import com.skua.modules.remotemeeting.vo.RemoteMeetingChatDetailVO;
import com.skua.modules.remotemeeting.vo.RemoteMeetingOnlineUserVO;
import com.skua.modules.remotemeeting.vo.RemoteMeetingPageQueryVO;
import com.skua.modules.remotemeeting.vo.RemoteMeetingRoomVideoVO;

import java.io.IOException;
import java.util.List;

/**
 * AR远程会议
 */
public interface IRemoteMeetingService extends IService<RemoteMeeting> {

    /**
     * R远程会议-预约会议
     * @param dto
     */
    void saveMeetingAppointment(RemoteMeetingAppointmentDto dto);

    /**
     * AR远程会议-立即开始会议
     * @return
     */
    RemoteMeeting saveImmediatelyAppointment(RemoteMeeting remoteMeeting);


    /**
     * AR远程会议-分页列表查询
     * @param page
     * @param dto
     * @return
     */
    IPage<RemoteMeetingPageQueryVO> queryPageList(Page<RemoteMeeting> page, RemoteMeetingQueryDto dto);

    /**
     * AR远程会议-取消预约会议
     * @param meetingId
     */
    void cancelMeeting(String meetingId);

    /**
     * AR远程会议-房间在线用户列表
     * @param roomId
     * @return
     */
    List<RemoteMeetingOnlineUserVO> queryRoomOnlineUser(String roomId);

    /**
     * AR远程会议-呼叫用户
     */
    void callUser(RemoteMeetingCallUserDto dto);

    /**
     * 处理【第三方AR会议】的Mqtt消息
     * @param topic 主题
     * @param message 消息内容
     */
    void processMqttMsg(String topic, String message) throws IOException;

    /**
     * 结束会议
     * @param meetingId
     */
    void finishMeeting(String meetingId);

    /**
     * -房间聊天消息
     * @param meetingId
     * @return
     */
    List<RemoteMeetingChatDetailVO> queryMeetingDetail(String meetingId);

    /**
     * 查询协作详情-视频记录(协作结束后,才能查询到数据)
     * @param meetingId
     * @return
     */
    List<RemoteMeetingRoomVideoVO> queryMeetingVideoDetail(String meetingId);
}