package com.keao.edu.user.service;

import com.keao.edu.common.page.PageInfo;
import com.keao.edu.common.service.BaseService;
import com.keao.edu.user.dto.ExamRoomStudentRelationDto;
import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
import com.keao.edu.user.page.ExamRoomStudentRelationQueryInfo;

public interface ExamRoomStudentRelationService extends BaseService<Long, ExamRoomStudentRelation> {

    /**
     * 开启/关闭教室
     * @param openFlag
     * @param examinationBasicId
     * @param studentId
     */
    void switchClassRoom(Integer openFlag, Integer examinationBasicId, Integer studentId);

    /**
     * @describe 给教室分配学员
     * @author Joburgess
     * @date 2020.06.24
     * @param examRoomId:
     * @param studentIds:
     * @return void
     */
    void addStudentForRoom(Long examRoomId, String studentIds);

    /**
     * @describe 获取教室学员
     * @author Joburgess
     * @date 2020.06.24
     * @param queryInfo:
     * @return com.keao.edu.common.page.PageInfo<com.keao.edu.user.dto.ExamRoomStudentRelationDto>
     */
    PageInfo<ExamRoomStudentRelationDto> findExamRoomStudents(ExamRoomStudentRelationQueryInfo queryInfo);

    /**
     * @describe 删除指定教室学员
     * @author Joburgess
     * @date 2020.06.24
     * @param examRoomId:
     * @param studentIds:
     * @return void
     */
    void deleteStudentFromRoom(Long examRoomId, String studentIds);

    /**
     * 获取教室学员关联
     * @param basicId
     * @param roomId
     * @param studentId
     * @return
     */
    ExamRoomStudentRelation getExamRoomStudentRelation(Integer basicId, String roomId, Integer studentId);
}
