wangliang 3 yıl önce
ebeveyn
işleme
5912f0b234

+ 9 - 1
themis-exam/src/main/java/com/qmth/themis/exam/api/TEExamController.java

@@ -13,6 +13,7 @@ import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
 import com.qmth.themis.business.dto.response.TEExamDto;
 import com.qmth.themis.business.dto.response.TEExamWaitDto;
 import com.qmth.themis.business.entity.TEExam;
+import com.qmth.themis.business.entity.TOeExamRecord;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.ExceptionEnum;
 import com.qmth.themis.business.enums.MqTagEnum;
@@ -374,8 +375,15 @@ public class TEExamController {
         if (Objects.isNull(param.getRecordId())) {
             throw new BusinessException(ExceptionResultEnum.RECORD_ID_IS_NULL);
         }
+        ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(param.getRecordId());
+        if (Objects.isNull(examRecordStatusEnum)) {
+            TOeExamRecord tOeExamRecord = tOeExamRecordService.getById(param.getRecordId());
+            if (Objects.nonNull(tOeExamRecord)) {
+                examRecordStatusEnum = tOeExamRecord.getStatus();
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("status", ExamRecordCacheUtil.getStatus(param.getRecordId()));
+        map.put("status", examRecordStatusEnum);
         return ResultUtil.ok(map);
     }
 }

+ 13 - 5
themis-exam/src/main/java/com/qmth/themis/exam/api/TEMobileController.java

@@ -12,13 +12,11 @@ import com.qmth.themis.business.cache.bean.ExamStudentCacheBean;
 import com.qmth.themis.business.constant.SystemConstant;
 import com.qmth.themis.business.dto.MqDto;
 import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
+import com.qmth.themis.business.entity.TOeExamRecord;
 import com.qmth.themis.business.enums.ExamRecordStatusEnum;
 import com.qmth.themis.business.enums.MobileModeEnum;
 import com.qmth.themis.business.enums.MqTagEnum;
-import com.qmth.themis.business.service.MqDtoService;
-import com.qmth.themis.business.service.TEExamService;
-import com.qmth.themis.business.service.TEExamStudentService;
-import com.qmth.themis.business.service.TEMobileService;
+import com.qmth.themis.business.service.*;
 import com.qmth.themis.business.util.MqUtil;
 import com.qmth.themis.business.util.RedisUtil;
 import com.qmth.themis.business.util.ServletUtil;
@@ -60,6 +58,9 @@ public class TEMobileController {
     @Resource
     RedisUtil redisUtil;
 
+    @Resource
+    TOeExamRecordService tOeExamRecordService;
+
     @ApiOperation(value = "获取登录详细信息")
     @RequestMapping(value = "/authorization", method = RequestMethod.POST)
     public Result authorization(@RequestBody MobileAuthorizationParamBean param) throws NoSuchAlgorithmException {
@@ -184,8 +185,15 @@ public class TEMobileController {
         if (Objects.isNull(param.getRecordId())) {
             throw new BusinessException(ExceptionResultEnum.RECORD_ID_IS_NULL);
         }
+        ExamRecordStatusEnum examRecordStatusEnum = ExamRecordCacheUtil.getStatus(param.getRecordId());
+        if (Objects.isNull(examRecordStatusEnum)) {
+            TOeExamRecord tOeExamRecord = tOeExamRecordService.getById(param.getRecordId());
+            if (Objects.nonNull(tOeExamRecord)) {
+                examRecordStatusEnum = tOeExamRecord.getStatus();
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("status", ExamRecordCacheUtil.getStatus(param.getRecordId()));
+        map.put("status", examRecordStatusEnum);
         return ResultUtil.ok(map);
     }
 }