package com.qmth.themis.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
import com.qmth.themis.business.dto.response.RoomCodeQueryDto;
import com.qmth.themis.business.dto.response.TEExamStudentDto;
import com.qmth.themis.business.entity.TEExamStudent;

import java.util.List;
import java.util.Map;

/**
 * @Description: 考生库 服务类
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/6/25
 */
public interface TEExamStudentService extends IService<TEExamStudent> {

    /**
     * 查询考生信息
     *
     * @param iPage
     * @param examId
     * @param activityId
     * @param identity
     * @param name
     * @param roomCode
     * @param courseCode
     * @param grade
     * @param enable
     * @param classNo
     * @return
     */
    public IPage<TEExamStudentDto> examStudentQuery(IPage<Map> iPage, Long examId, Long activityId, String identity, String name, String roomCode, String courseCode, String grade, Integer enable, String classNo,Integer hasPhoto);

    public List<TEExamStudentDto> examStudentList(Long examId, Long activityId, String identity, String name, String roomCode, String courseCode, String grade, Integer enable, String classNo,Integer hasPhoto);
    
    ExamStudentCacheBean getExamStudentCacheBean(Long examStudentId);

    /**
     * 更新考生缓存
     *
     * @param examStudentId
     * @return
     */
    ExamStudentCacheBean updateExamStudentCacheBean(Long examStudentId);

    /**
     * 删除考生缓存
     *
     * @param examStudentId
     */
    void deleteExamStudentCacheBean(Long examStudentId);

    /**
     * 考场查询
     *
     * @param roomName
     * @return
     */
    public List<RoomCodeQueryDto> examRoomQuery(String roomName);

	void updateByMqMsg(Map<String, Object> param);
}
