|
@@ -116,13 +116,13 @@ public class BeforeHandInExamJobHandler {
|
|
|
|
|
|
long diff = System.currentTimeMillis() - examRecordDataCache.getEnterExamTime().getTime();
|
|
|
if (diff <= 180000L) {
|
|
|
- // 跳过刚进入考试3分钟内的记录
|
|
|
+ // 跳过刚进入考试3分钟内的记录(减少无意义的状态处理)
|
|
|
log.debug("enterExamTime just 3 minutes, skip... examRecordDataId:{}", examRecordDataId);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
ExamingSession examingSession = examingSessionService.getExamingSession(examRecordDataCache.getStudentId());
|
|
|
- if (examingSession == null || ExamingStatus.INFORMAL.equals(examingSession.getExamingStatus())) {
|
|
|
+ if (examingSession == null) {
|
|
|
// 考试会话不存在,则自动交卷
|
|
|
log.warn("redisKey {}{} value not exist, do autoHandInExam, examRecordDataId:{}",
|
|
|
CacheConstants.CACHE_OE_SESSION, examRecordDataCache.getStudentId(), examRecordDataId);
|
|
@@ -130,6 +130,12 @@ public class BeforeHandInExamJobHandler {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if (ExamingStatus.INFORMAL.equals(examingSession.getExamingStatus())) {
|
|
|
+ // 考试会话若为“非正式状态”状态,暂不特殊处理!
|
|
|
+ log.warn("ExamSession_INFORMAL, examRecordDataId:{}, studentId:{}", examRecordDataId, examRecordDataCache.getStudentId());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
// 超过断点续考时间,则自动交卷
|
|
|
if (this.overBreakpointTime(examingSession)) {
|
|
|
log.warn("overBreakpointTime do autoHandInExam, examRecordDataId:{}, studentId:{}", examRecordDataCache.getId(), examRecordDataCache.getStudentId());
|