Просмотр исходного кода

优化交卷逻辑和开考逻辑

lideyin 5 лет назад
Родитель
Сommit
8388bb9c3d

+ 5 - 5
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamRecordDataServiceImpl.java

@@ -95,15 +95,15 @@ public class ExamRecordDataServiceImpl implements ExamRecordDataService {
         examRecordData.setStartTime(new Date());
         examRecordData.setExamRecordStatus(ExamRecordStatus.EXAM_ING);
         //已考的考试次数
-
+        int finalExamedTimes=examedTimes==null?0:examedTimes.intValue();
         //考试机会
         int finalCanExamTimes = canExamTimes == null ? 0 : canExamTimes.intValue();
         boolean finalIsReExamine = isReExamine == null ? false : isReExamine;
         //如果是重考,则考试次数加1
-        if (isReExamine && examedTimes >= finalCanExamTimes) {
-            examedTimes = finalCanExamTimes + 1;
+        if (finalIsReExamine && finalExamedTimes >= finalCanExamTimes) {
+            finalExamedTimes = finalCanExamTimes + 1;
         }
-        examRecordData.setExamOrder(examedTimes);
+        examRecordData.setExamOrder(finalExamedTimes);
         examRecordData.setIsAllObjectivePaper(isFullyObjetive);
         examRecordData.setIsWarn(false);
         examRecordData.setIsAudit(false);
@@ -115,7 +115,7 @@ public class ExamRecordDataServiceImpl implements ExamRecordDataService {
         examRecordData.setFaceTotalCount(0);
         examRecordData.setFaceFailedCount(0);
         examRecordData.setFaceStrangerCount(0);
-        if (finalIsReExamine && finalCanExamTimes <= examedTimes) {
+        if (finalIsReExamine && finalCanExamTimes <= finalExamedTimes) {
             examRecordData.setIsReexamine(true);
         }
         return examRecordDataRepo.save(examRecordData);