package com.qmth.themis.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.themis.business.dto.response.TEExamQueryDto;
import com.qmth.themis.business.dto.response.TIeWarningNotifyDto;
import com.qmth.themis.business.entity.TIeInvigilateWarnInfo;
import com.qmth.themis.business.enums.VerifyExceptionEnum;
import com.qmth.themis.business.enums.WarningLevelEnum;

import java.util.List;

/**
 * @Description: 监考预警信息 服务类
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/6/25
 */
public interface TIeInvigilateWarnInfoService extends IService<TIeInvigilateWarnInfo> {

    /**
     * 预警提醒
     *
     * @param examId
     * @param examActivityId
     * @param roomCode
     * @param userId
     * @param orgId
     * @return
     */
    public Integer warningCount(Long examId,
                                Long examActivityId,
                                String roomCode,
                                Long userId,
                                Long orgId);

    /**
     * 预警提醒
     *
     * @param examIdList
     * @param userId
     * @param orgId
     * @return
     */
    public List<TEExamQueryDto> warningCountByList(List<Long> examIdList, Long userId, Long orgId);

    /**
     * 预警通知
     *
     * @param examId
     * @param userId
     * @param orgId
     * @return
     */
    public List<TIeWarningNotifyDto> warningMessage(Long examId, Long userId, Long orgId);

    /**
     * 查找预警和异常信息
     *
     * @param examRecordId
     * @param verifyExceptionEnum
     * @param warningLevelEnum
     * @return
     */
    public List<Integer> findWarnAndExceptionInfo(Long examRecordId, VerifyExceptionEnum verifyExceptionEnum, WarningLevelEnum warningLevelEnum);
}
