deason 1 rok temu
rodzic
commit
fecc6db3c7

+ 17 - 14
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/impl/ExamRecordDataServiceImpl.java

@@ -157,7 +157,7 @@ public class ExamRecordDataServiceImpl implements ExamRecordDataService {
                 }
             }
 
-            // 计算人脸检测结果
+            // 计算人脸抓拍比对验证结果
             CalculateFaceCheckResultInfo faceCheckResult = examCaptureService.calculateFaceCheckResult(examRecordData.getId());
             if (null != faceCheckResult.getFaceTotalCount()) {
                 examRecordData.setFaceTotalCount(faceCheckResult.getFaceTotalCount());
@@ -178,36 +178,39 @@ public class ExamRecordDataServiceImpl implements ExamRecordDataService {
                 examRecordData.setBaiduFaceLivenessSuccessPercent(faceCheckResult.getBaiduFaceLivenessSuccessPercent());
             }
 
-            // 计算活体检测结果
+            // 计算人脸活体检测结果
             CalcFaceBiopsyResultReq req = new CalcFaceBiopsyResultReq();
             req.setExamRecordDataId(examRecordData.getId());
-            CalcFaceBiopsyResultResp calcFaceBiopsyResultResp = examRecordDataCloudService.calcFaceBiopsyResult(req);
-            if (null != calcFaceBiopsyResultResp.getFaceVerifyResult()) {
-                examRecordData.setFaceVerifyResult(calcFaceBiopsyResultResp.getFaceVerifyResult());
+            CalcFaceBiopsyResultResp faceBiopsyResult = examRecordDataCloudService.calcFaceBiopsyResult(req);
+            if (null != faceBiopsyResult.getFaceVerifyResult()) {
+                examRecordData.setFaceVerifyResult(faceBiopsyResult.getFaceVerifyResult());
             }
 
             //判断是否违纪
-            if (null != calcFaceBiopsyResultResp.getFaceVerifyResult() &&
-                    IsSuccess.FAILED == calcFaceBiopsyResultResp.getFaceVerifyResult()) {
+            if (null != faceBiopsyResult.getFaceVerifyResult() &&
+                    IsSuccess.FAILED == faceBiopsyResult.getFaceVerifyResult()) {
                 examRecordData.setIsIllegality(true);//活检失败,直接判定为违纪
             } else {
                 //人脸检测或活检中有一个判断为违纪,则为违纪
-                boolean bi = (null != faceCheckResult.getIsIllegality() && faceCheckResult.getIsIllegality()) ||
-                        (null != calcFaceBiopsyResultResp.getIsIllegality() && calcFaceBiopsyResultResp.getIsIllegality());
-                examRecordData.setIsIllegality(bi);
+                boolean isIllegality = (null != faceCheckResult.getIsIllegality() && faceCheckResult.getIsIllegality()) ||
+                        (null != faceBiopsyResult.getIsIllegality() && faceBiopsyResult.getIsIllegality());
+                examRecordData.setIsIllegality(isIllegality);
             }
 
             //判断数据是否异常
-            boolean bw = (null != faceCheckResult.getIsWarn() && faceCheckResult.getIsWarn()) ||
-                    (null != calcFaceBiopsyResultResp.getIsWarn() && calcFaceBiopsyResultResp.getIsWarn());
-            examRecordData.setIsWarn(bw);//人脸检测或活检中有一个判断为异常,则为异常数据
+            boolean isWarn = (null != faceCheckResult.getIsWarn() && faceCheckResult.getIsWarn()) ||
+                    (null != faceBiopsyResult.getIsWarn() && faceBiopsyResult.getIsWarn());
+            examRecordData.setIsWarn(isWarn);//人脸检测或活检中有一个判断为异常,则为异常数据
 
             // 违纪自动审核
             Boolean isAudit = this.calcAutoAuditResult(faceCheckResult.getNoPhotoAndIllegality(),
-                    calcFaceBiopsyResultResp.getFaceVerifyResult(), calcFaceBiopsyResultResp.getIsIllegality());
+                    faceBiopsyResult.getFaceVerifyResult(), faceBiopsyResult.getIsIllegality());
             if (null != isAudit) {
                 examRecordData.setIsAudit(isAudit);
             }
+
+            log.info("examRecordDataId:{} isIllegality:{} isWarn:{}  isAudit:{}",
+                    examRecordData.getId(), examRecordData.getIsIllegality(), isWarn, isAudit);
         }
 
         //自动计算客观分

+ 6 - 9
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/job/SyncExamRecordDataJobHandler.java

@@ -177,15 +177,12 @@ public class SyncExamRecordDataJobHandler {
                 }
             }
 
-            // 是否开启人脸活体检测
-            if (FaceBiopsyHelper.isFaceVerify(rootOrgId, examId, studentId)) {
-                // S1 FaceID活体检测方案(即旧活体检测方案)
-                syncReq.setExamFaceLivenessVerifies(commonService.getExamFaceLivenessVerifies(examRecordDataId));
-                // S2 ElectronClient 自研活体检测方案
-                syncReq.setFaceBiopsy(commonService.getFaceBiopsy(examRecordDataId));
-                // S3 C端活体检测方案
-                syncReq.setFaceLiveVerifyRecords(commonService.getFaceLiveVerifyRecords(examRecordDataId));
-            }
+            // S1 FACE_ID FaceID活体检测方案(即旧活体检测方案)
+            syncReq.setExamFaceLivenessVerifies(commonService.getExamFaceLivenessVerifies(examRecordDataId));
+            // S2 FACE_MOTION 自研活体检测方案【已废弃】
+            syncReq.setFaceBiopsy(commonService.getFaceBiopsy(examRecordDataId));
+            // S3 FACE_CLIENT C端活体检测方案
+            syncReq.setFaceLiveVerifyRecords(commonService.getFaceLiveVerifyRecords(examRecordDataId));
         }
 
         // 考试记录信息