Jelajahi Sumber

将同步比较的人脸结果也保存到照片队列表中

lideyin 5 tahun lalu
induk
melakukan
b36109f8f9

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

@@ -16,6 +16,8 @@ import cn.com.qmth.examcloud.core.oe.common.repository.*;
 import cn.com.qmth.examcloud.core.oe.common.service.ExamScoreObtainQueueService;
 import cn.com.qmth.examcloud.core.oe.common.service.ExamScorePushQueueService;
 import cn.com.qmth.examcloud.core.oe.student.bean.*;
+import cn.com.qmth.examcloud.core.oe.student.face.api.ExamCaptureCloudService;
+import cn.com.qmth.examcloud.core.oe.student.face.api.request.SaveExamCaptureSyncCompareResultReq;
 import cn.com.qmth.examcloud.core.oe.student.service.*;
 import cn.com.qmth.examcloud.core.oe.websocket.api.FileAnswerWebsocketCloudService;
 import cn.com.qmth.examcloud.core.oe.websocket.api.enums.WebSocketEventType;
@@ -136,7 +138,8 @@ public class ExamControlServiceImpl implements ExamControlService {
     private FileAnswerWebsocketCloudService fileAnswerWebsocketCloudService;
     @Autowired
     private ExamCaptureQueueRepo examCaptureQueueRepo;
-
+    @Autowired
+    private ExamCaptureCloudService examCaptureCloudService;
     @Value("${audio.app.url}")
     private String audioAppUrl;
     @Value("${$upyun.site.1.bucketName}")
@@ -258,6 +261,17 @@ public class ExamControlServiceImpl implements ExamControlService {
         examRecordDataService.createExamingRecord(examRecordData.getId(),
                 examRecordData.getStudentId(), examRecordData.getExamType());
 
+        //如果开启人脸比对,将同步人脸比对结果存储到抓后结果表中
+        Long examId = examRecordData.getExamId();
+        String isFaceEnable = CacheHelper.getExamOrgProperty(examRecordData.getExamId(), examRecordData.getOrgId(),
+                ExamProperties.IS_FACE_ENABLE.name()).getValue();
+        if (isFaceEnable != null && Constants.isTrue.equals(isFaceEnable)) {
+            SaveExamCaptureSyncCompareResultReq req= new SaveExamCaptureSyncCompareResultReq();
+            req.setExamRecordDataId(examRecordData.getId());
+            req.setStudentId(user.getUserId());
+            examCaptureCloudService.saveExamCaptureSyncCompareResult(req);
+        }
+
         if (log.isDebugEnabled()) {
             log.debug("8 生成考试记录耗时:" + (System.currentTimeMillis() - startTime) + " ms");
         }
@@ -1576,5 +1590,7 @@ public class ExamControlServiceImpl implements ExamControlService {
         //是否开启了环境检测(请求的考试记录id等于用于环境检测的考试记录时,则认为开启了环境检测)
         return examRecordDataIdObject.getHasValue() && examRecordDataId.equals(Long.valueOf(examRecordDataIdObject.getValue().toString()));
     }
+
+
 }