wangliang 4 ani în urmă
părinte
comite
b3005be53d

+ 42 - 17
themis-business/src/main/java/com/qmth/themis/business/dto/response/TEExamActivityDto.java

@@ -150,23 +150,48 @@ public class TEExamActivityDto implements Serializable {
     }
 
     public TEExamActivityDto(ExamCacheBean ec, ExamActivityCacheBean examActivityCacheBean, ExamStudentCacheBean examStudentCacheBean, Long examStudentId, ExamCourseCacheBean examCourseCacheBean,
-                             Long recordId, String prefix) {
-        Long startTime = ExamRecordCacheUtil.getStartTime(recordId);
-        Long endTime = ExamRecordCacheUtil.getEndTime(recordId);
-        Integer openingSeconds = ExamRecordCacheUtil.getOpeningSeconds(recordId);
-        Integer minDurationSeconds = ExamRecordCacheUtil.getMinDurationSeconds(recordId);
-        Integer maxDurationSeconds = ExamRecordCacheUtil.getMaxDurationSeconds(recordId);
-        Integer forceFinish = ExamRecordCacheUtil.getForceFinish(recordId);
-        Integer cameraPhotoUpload = ExamRecordCacheUtil.getCameraPhotoUpload(recordId);
-        Integer mobilePhotoUpload = ExamRecordCacheUtil.getMobilePhotoUpload(recordId);
-        String entryAuthenticationPolicy = ExamRecordCacheUtil.getEntryAuthenticationPolicy(recordId);
-        Integer inProcessFaceStrangerIgnore = ExamRecordCacheUtil.getInProcessFaceStrangerIgnore(recordId);
-        String inProcessLivenessFixedRange = ExamRecordCacheUtil.getInProcessLivenessFixedRange(recordId);
-        String inProcessLivenessJudgePolicy = ExamRecordCacheUtil.getInProcessLivenessJudgePolicy(recordId);
-        String monitorVideoSource = ExamRecordCacheUtil.getMonitorVideoSource(recordId);
-        Integer inProcessFaceVerify = ExamRecordCacheUtil.getInProcessFaceVerifyStatus(recordId);
-        Integer inProcessLivenessVerify = ExamRecordCacheUtil.getInProcessLivenessVerifyStatus(recordId);
-        Integer inProcessRealnessVerify = ExamRecordCacheUtil.getInProcessRealnessVerifyStatus(recordId);
+                             Long recordId, String prefix, boolean cache) {
+        Long startTime = null, endTime = null;
+        Integer openingSeconds = null, minDurationSeconds = null, maxDurationSeconds = null, forceFinish = null,
+                cameraPhotoUpload = null, mobilePhotoUpload = null, inProcessFaceStrangerIgnore = null, inProcessFaceVerify = null,
+                inProcessLivenessVerify = null, inProcessRealnessVerify = null;
+        String entryAuthenticationPolicy = null, inProcessLivenessFixedRange = null, inProcessLivenessJudgePolicy = null,
+                monitorVideoSource = null;
+        if (cache) {
+            startTime = ExamRecordCacheUtil.getStartTime(recordId);
+            endTime = ExamRecordCacheUtil.getEndTime(recordId);
+            openingSeconds = ExamRecordCacheUtil.getOpeningSeconds(recordId);
+            minDurationSeconds = ExamRecordCacheUtil.getMinDurationSeconds(recordId);
+            maxDurationSeconds = ExamRecordCacheUtil.getMaxDurationSeconds(recordId);
+            forceFinish = ExamRecordCacheUtil.getForceFinish(recordId);
+            cameraPhotoUpload = ExamRecordCacheUtil.getCameraPhotoUpload(recordId);
+            mobilePhotoUpload = ExamRecordCacheUtil.getMobilePhotoUpload(recordId);
+            entryAuthenticationPolicy = ExamRecordCacheUtil.getEntryAuthenticationPolicy(recordId);
+            inProcessFaceStrangerIgnore = ExamRecordCacheUtil.getInProcessFaceStrangerIgnore(recordId);
+            inProcessLivenessFixedRange = ExamRecordCacheUtil.getInProcessLivenessFixedRange(recordId);
+            inProcessLivenessJudgePolicy = ExamRecordCacheUtil.getInProcessLivenessJudgePolicy(recordId);
+            monitorVideoSource = ExamRecordCacheUtil.getMonitorVideoSource(recordId);
+            inProcessFaceVerify = ExamRecordCacheUtil.getInProcessFaceVerifyStatus(recordId);
+            inProcessLivenessVerify = ExamRecordCacheUtil.getInProcessLivenessVerifyStatus(recordId);
+            inProcessRealnessVerify = ExamRecordCacheUtil.getInProcessRealnessVerifyStatus(recordId);
+        } else {
+            startTime = examActivityCacheBean.getStartTime();
+            endTime = ec.getEndTime();
+            openingSeconds = examActivityCacheBean.getOpeningSeconds();
+            minDurationSeconds = ec.getMinDurationSeconds();
+            maxDurationSeconds = examActivityCacheBean.getMaxDurationSeconds();
+            forceFinish = ec.getForceFinish();
+            cameraPhotoUpload = ec.getCameraPhotoUpload();
+            mobilePhotoUpload = ec.getMobilePhotoUpload();
+            entryAuthenticationPolicy = ec.getEntryAuthenticationPolicy().name();
+            inProcessFaceStrangerIgnore = ec.getInProcessFaceStrangerIgnore();
+            inProcessLivenessFixedRange = ec.getInProcessLivenessFixedRange();
+            inProcessLivenessJudgePolicy = ec.getInProcessLivenessJudgePolicy().name();
+            monitorVideoSource = ec.getMonitorVideoSource();
+            inProcessFaceVerify = ec.getInProcessFaceVerify();
+            inProcessLivenessVerify = ec.getInProcessLivenessVerify();
+            inProcessRealnessVerify = ec.getInProcessRealnessVerify();
+        }
         this.id = examActivityCacheBean.getId();
 //        this.code = examActivityCacheBean.getCode();
 //        this.examStudentId = examStudentId;

+ 2 - 2
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -237,7 +237,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
                         , tencentYunUtil.getTencentYunDomain().getAppId());
                 ExamRecordCacheUtil.updateExamRecordCache(recordId, examCache, ac);
                 TEExamActivityDto teExamActivityDto = new TEExamActivityDto(examCache, ac, examStudentCacheBean,
-                        examStudentId, ec, recordId, monitorUtil.getMonitorDomain().getPrefix());
+                        examStudentId, ec, recordId, monitorUtil.getMonitorDomain().getPrefix(), false);
                 prepare.setTeExamActivityDto(teExamActivityDto);
                 return prepare;
             }
@@ -893,7 +893,7 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         ExamActivityCacheBean ac = teExamActivityService.getExamActivityCacheBean(es.getExamActivityId());
         ExamCourseCacheBean examCourseCacheBean = teExamCourseService.getExamCourseCacheBean(es.getExamId(), es.getCourseCode());
         TEExamActivityDto teExamActivityDto = new TEExamActivityDto(ec, ac, es,
-                examStudentId, examCourseCacheBean, recordId, monitorUtil.getMonitorDomain().getPrefix());
+                examStudentId, examCourseCacheBean, recordId, monitorUtil.getMonitorDomain().getPrefix(), true);
         ret.setTeExamActivityDto(teExamActivityDto);
 
         ExamStudentPaperStructCacheBean struct = (ExamStudentPaperStructCacheBean) redisUtil