Browse Source

update checkExamInProgress

deason 3 years ago
parent
commit
6e57d6985e

+ 11 - 6
examcloud-core-oe-student-service/src/main/java/cn/com/qmth/examcloud/core/oe/student/service/impl/ExamControlServiceImpl.java

@@ -128,6 +128,9 @@ public class ExamControlServiceImpl implements ExamControlService {
     @Autowired
     private ExamFaceLivenessVerifyService examFaceLivenessVerifyService;
 
+    @Autowired
+    private ExamFaceLiveVerifyService examFaceLiveVerifyService;
+
     @Autowired
     private RedisClient redisClient;
 
@@ -1631,18 +1634,20 @@ public class ExamControlServiceImpl implements ExamControlService {
             checkExamInProgressInfo.setExamType(examingRecord.getExamType());
 
             // 断点续考时重新计算活体检测的分钟数
-            Integer faceVerifyMinute = null;
+            Integer faceVerifyMinute;
             FaceBiopsyScheme faceBiopsyScheme = FaceBiopsyHelper.getFaceBiopsyScheme(examSessionInfo.getRootOrgId());
-
-            // 如果是新活体检测方案,则使用新的计算方案计算活检开始时间
-            if (faceBiopsyScheme == FaceBiopsyScheme.FACE_MOTION) {
+            if (FaceBiopsyScheme.FACE_CLIENT == faceBiopsyScheme) {
+                // C端活体检测方案
+                faceVerifyMinute = examFaceLiveVerifyService.calculateStartFaceVerifyMinute(examRecordDataId);
+            } else if (faceBiopsyScheme == FaceBiopsyScheme.FACE_MOTION) {
+                // Electron Client 自研活体检测方案
                 faceVerifyMinute = faceBiopsyService.calculateFaceBiopsyStartMinute(examRecordDataId);
-            } else {// 非新活检,默认使用旧的活检计算方式
+            } else {
+                // FaceID活体检测方案
                 faceVerifyMinute = examFaceLivenessVerifyService.getFaceLivenessVerifyMinute(
                         examSessionInfo.getRootOrgId(), examSessionInfo.getOrgId(), examSessionInfo.getExamId(),
                         studentId, examSessionInfo.getExamRecordDataId(), (int) usedTime / 60);
             }
-
             checkExamInProgressInfo.setFaceVerifyMinute(faceVerifyMinute);
 
             //考试过程记录(断点)打点