|
@@ -1,10 +1,39 @@
|
|
|
package com.qmth.themis.backend.api;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.qmth.themis.business.annotation.ApiJsonObject;
|
|
|
import com.qmth.themis.business.annotation.ApiJsonProperty;
|
|
|
-import com.qmth.themis.business.bean.backend.*;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListDetailBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListHistoryBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListPatrolBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListProgressBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListProgressExcelBean;
|
|
|
+import com.qmth.themis.business.bean.backend.InvigilateListVideoBean;
|
|
|
import com.qmth.themis.business.cache.ExamRecordCacheUtil;
|
|
|
import com.qmth.themis.business.cache.RedisKeyHelper;
|
|
|
import com.qmth.themis.business.cache.bean.ExamActivityCacheBean;
|
|
@@ -16,10 +45,40 @@ import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.AuthDto;
|
|
|
import com.qmth.themis.business.dto.ExamPropCountDto;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
-import com.qmth.themis.business.entity.*;
|
|
|
-import com.qmth.themis.business.enums.*;
|
|
|
+import com.qmth.themis.business.entity.TBExamInvigilateUser;
|
|
|
+import com.qmth.themis.business.entity.TBSession;
|
|
|
+import com.qmth.themis.business.entity.TBUser;
|
|
|
+import com.qmth.themis.business.entity.TEExamBreachLog;
|
|
|
+import com.qmth.themis.business.entity.TEExamReexam;
|
|
|
+import com.qmth.themis.business.entity.TEExamStudent;
|
|
|
+import com.qmth.themis.business.entity.TEExamStudentLog;
|
|
|
+import com.qmth.themis.business.entity.TEStudent;
|
|
|
+import com.qmth.themis.business.entity.TIeInvigilateExceptionInfo;
|
|
|
+import com.qmth.themis.business.entity.TIeInvigilateWarnInfo;
|
|
|
+import com.qmth.themis.business.entity.TOeExamRecord;
|
|
|
+import com.qmth.themis.business.enums.BreachCancelTypeEnum;
|
|
|
+import com.qmth.themis.business.enums.BreachTypeEnum;
|
|
|
+import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
|
+import com.qmth.themis.business.enums.FinishTypeEnum;
|
|
|
+import com.qmth.themis.business.enums.InvigilateMonitorStatusEnum;
|
|
|
+import com.qmth.themis.business.enums.MqTagEnum;
|
|
|
+import com.qmth.themis.business.enums.MqTopicEnum;
|
|
|
+import com.qmth.themis.business.enums.RoleEnum;
|
|
|
+import com.qmth.themis.business.enums.VerifyExceptionEnum;
|
|
|
+import com.qmth.themis.business.enums.WarningLevelEnum;
|
|
|
import com.qmth.themis.business.excel.ExportUtils;
|
|
|
-import com.qmth.themis.business.service.*;
|
|
|
+import com.qmth.themis.business.service.MqDtoService;
|
|
|
+import com.qmth.themis.business.service.TBExamInvigilateUserService;
|
|
|
+import com.qmth.themis.business.service.TEExamActivityService;
|
|
|
+import com.qmth.themis.business.service.TEExamBreachLogService;
|
|
|
+import com.qmth.themis.business.service.TEExamReexamService;
|
|
|
+import com.qmth.themis.business.service.TEExamService;
|
|
|
+import com.qmth.themis.business.service.TEExamStudentLogService;
|
|
|
+import com.qmth.themis.business.service.TEExamStudentService;
|
|
|
+import com.qmth.themis.business.service.TEStudentService;
|
|
|
+import com.qmth.themis.business.service.TIeInvigilateExceptionInfoService;
|
|
|
+import com.qmth.themis.business.service.TIeInvigilateWarnInfoService;
|
|
|
+import com.qmth.themis.business.service.TOeExamRecordService;
|
|
|
import com.qmth.themis.business.util.JacksonUtil;
|
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
|
import com.qmth.themis.business.util.ServletUtil;
|
|
@@ -27,16 +86,12 @@ import com.qmth.themis.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.themis.common.exception.BusinessException;
|
|
|
import com.qmth.themis.common.util.Result;
|
|
|
import com.qmth.themis.common.util.ResultUtil;
|
|
|
-import io.swagger.annotations.*;
|
|
|
-import org.slf4j.Logger;
|
|
|
-import org.slf4j.LoggerFactory;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
-import javax.annotation.Resource;
|
|
|
-import java.io.File;
|
|
|
-import java.util.*;
|
|
|
-import java.util.concurrent.atomic.AtomicReference;
|
|
|
-import java.util.stream.Collectors;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
+import io.swagger.annotations.ApiResponse;
|
|
|
+import io.swagger.annotations.ApiResponses;
|
|
|
|
|
|
/**
|
|
|
* @Description: 监考信息 前端控制器
|
|
@@ -468,6 +523,10 @@ public class TIeInvigilateController {
|
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_ID_IS_NULL);
|
|
|
}
|
|
|
ExamCacheBean examCacheBean = teExamService.getExamCacheBean(examId);
|
|
|
+ long now =new Date().getTime();
|
|
|
+ if(now<examCacheBean.getEndTime()*1000){
|
|
|
+ throw new BusinessException("未到考试批次结束时间");
|
|
|
+ }
|
|
|
TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
|
|
|
TBSession tbSession = (TBSession) ServletUtil.getRequestSession();
|
|
|
if (Objects.isNull(tbSession)) {
|
|
@@ -559,6 +618,9 @@ public class TIeInvigilateController {
|
|
|
// }
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+ teExamService.updateInvigilateMonitorStatus(InvigilateMonitorStatusEnum.FINISHED, examId);
|
|
|
+ teExamService.deleteExamCacheBean(examId);
|
|
|
examPropCountDto.setPrepareCount(prepareCount.get());
|
|
|
examPropCountDto.setExamCount(examCount.get());
|
|
|
return ResultUtil.ok(examPropCountDto);
|