Просмотр исходного кода

同步照片不存在,提示非法数据

qinchao 4 лет назад
Родитель
Сommit
2d8fde28eb

+ 7 - 6
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/pipeline/SyncExamDataExecutor.java

@@ -171,17 +171,18 @@ public class SyncExamDataExecutor implements NodeExecuter<Long, ExamRecordData,
                 Long examId = examRecordData.getExamId();
                 if (FaceBiopsyHelper.isFaceEnable(rootOrgId, examId, studentId)) {
                     List<ExamCaptureBean> captures = getExamCaptures(examRecordDataId);
-                    //虚拟摄像头进入待审核,且有虚拟摄像头的,更新缓存
+                    syncReq.setExamCaptures(captures);
+
+                    ExamSyncCaptureBean syncCapture = getExamSyncCapture(examRecordDataId);
+                    syncReq.setExamSyncCapture(syncCapture);
+
+                    //虚拟摄像头进入待审核,且有虚拟摄像头的或者同步没有照片的,更新缓存
                     boolean hasVirtualCamera = captures.stream().anyMatch(e->e.getHasVirtualCamera()!=null&&e.getHasVirtualCamera());
-                    if (examRecordDataService.isVirtualToWaiting(examId) && hasVirtualCamera) {
+                    if (examRecordDataService.isVirtualToWaiting(examId) && hasVirtualCamera || syncCapture == null) {
                         examRecordData.setIsWarn(true);
                         examRecordDataService.saveExamRecordDataCache(examRecordDataId, examRecordData);
                     }
 
-                    syncReq.setExamCaptures(captures);
-
-                    syncReq.setExamSyncCapture(getExamSyncCapture(examRecordDataId));
-
                     if (FaceBiopsyHelper.isFaceVerify(rootOrgId, examId, studentId)) {
                         syncReq.setExamFaceLivenessVerifies(getExamFaceLivenessVerifies(examRecordDataId));