|
@@ -248,13 +248,20 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_RECORD_UNFINISHED);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_RECORD_UNFINISHED);
|
|
}
|
|
}
|
|
checkIp(examCache);
|
|
checkIp(examCache);
|
|
|
|
+
|
|
Long activityId = es.getExamActivityId();
|
|
Long activityId = es.getExamActivityId();
|
|
Long examId = es.getExamId();
|
|
Long examId = es.getExamId();
|
|
- QueryWrapper<TOeExamRecord> tOeExamRecordQueryWrapper = new QueryWrapper<>();
|
|
|
|
- tOeExamRecordQueryWrapper.lambda().eq(TOeExamRecord::getExamId, examId)
|
|
|
|
- .eq(TOeExamRecord::getExamActivityId, activityId).eq(TOeExamRecord::getExamStudentId, examStudentId)
|
|
|
|
- .eq(TOeExamRecord::getStatus, ExamRecordStatusEnum.FIRST_PREPARE);
|
|
|
|
- TOeExamRecord tOeExamRecord = toeExamRecordService.getOne(tOeExamRecordQueryWrapper);
|
|
|
|
|
|
+ Long currentRecordId = es.getCurrentRecordId();
|
|
|
|
+ TOeExamRecord tOeExamRecord = null;
|
|
|
|
+ if (Objects.nonNull(currentRecordId)) {
|
|
|
|
+ tOeExamRecord = toeExamRecordService.getCacheExamRecord(currentRecordId);
|
|
|
|
+ } else {
|
|
|
|
+ QueryWrapper<TOeExamRecord> tOeExamRecordQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ tOeExamRecordQueryWrapper.lambda().eq(TOeExamRecord::getExamId, examId)
|
|
|
|
+ .eq(TOeExamRecord::getExamActivityId, activityId).eq(TOeExamRecord::getExamStudentId, examStudentId)
|
|
|
|
+ .eq(TOeExamRecord::getStatus, ExamRecordStatusEnum.FIRST_PREPARE);
|
|
|
|
+ tOeExamRecord = toeExamRecordService.getOne(tOeExamRecordQueryWrapper);
|
|
|
|
+ }
|
|
if (Objects.nonNull(tOeExamRecord) && Objects.nonNull(tOeExamRecord.getStatus()) && (ExamRecordStatusEnum.FINISHED == tOeExamRecord.getStatus() || ExamRecordStatusEnum.PERSISTED == tOeExamRecord.getStatus() || tOeExamRecord.getStatus() == ExamRecordStatusEnum.JUNK)) {
|
|
if (Objects.nonNull(tOeExamRecord) && Objects.nonNull(tOeExamRecord.getStatus()) && (ExamRecordStatusEnum.FINISHED == tOeExamRecord.getStatus() || ExamRecordStatusEnum.PERSISTED == tOeExamRecord.getStatus() || tOeExamRecord.getStatus() == ExamRecordStatusEnum.JUNK)) {
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_FINISH);
|
|
throw new BusinessException(ExceptionResultEnum.EXAM_FINISH);
|
|
}
|
|
}
|