Explorar el Código

vm_camera_warn

deason hace 3 años
padre
commit
54355e5e2f

+ 7 - 5
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/impl/ExamCaptureQueueServiceImpl.java

@@ -8,6 +8,7 @@ import cn.com.qmth.examcloud.core.oe.student.dao.entity.ExamCaptureQueueEntity;
 import cn.com.qmth.examcloud.core.oe.student.dao.enums.ExamCaptureQueueStatus;
 import cn.com.qmth.examcloud.core.oe.task.service.ExamCaptureQueueService;
 import cn.com.qmth.examcloud.core.oe.task.service.bean.SaveExamCaptureQueueInfo;
+import cn.com.qmth.examcloud.support.Constants;
 import cn.com.qmth.examcloud.support.cache.CacheHelper;
 import cn.com.qmth.examcloud.support.cache.bean.StudentCacheBean;
 import org.apache.commons.lang3.StringUtils;
@@ -69,12 +70,13 @@ public class ExamCaptureQueueServiceImpl implements ExamCaptureQueueService {
         examCaptureQueue.setExamRecordDataId(saveExamCaptureQueueInfo.getExamRecordDataId());
         examCaptureQueue.setHasVirtualCamera(saveExamCaptureQueueInfo.getHasVirtualCamera());
 
-        String cameraInfos = saveExamCaptureQueueInfo.getCameraInfos();
-        if (StringUtils.isNotBlank(cameraInfos) && cameraInfos.length() >= 800) {
-            cameraInfos = "[{\"name\":\"虚拟摄像头信息超长!\",\"pid\":\"\",\"vid\":\"\"}]";
-            log.error("虚拟摄像头信息超长!");
+        if (StringUtils.length(saveExamCaptureQueueInfo.getCameraInfos()) >= Constants.VM_CAMERA_SIZE_LIMIT) {
+            examCaptureQueue.setCameraInfos(Constants.VM_CAMERA_WARN);
+            log.warn("虚拟摄像头信息超长! " + saveExamCaptureQueueInfo.getExamRecordDataId());
+        } else {
+            examCaptureQueue.setCameraInfos(saveExamCaptureQueueInfo.getCameraInfos());
         }
-        examCaptureQueue.setCameraInfos(cameraInfos);
+
         examCaptureQueue.setExtMsg(saveExamCaptureQueueInfo.getExtMsg());
         examCaptureQueue.setStatus(ExamCaptureQueueStatus.PENDING);
         examCaptureQueue.setErrorNum(0);

+ 6 - 6
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/impl/ExamCaptureServiceImpl.java

@@ -3,11 +3,11 @@ package cn.com.qmth.examcloud.core.oe.task.service.impl;
 import cn.com.qmth.examcloud.commons.exception.StatusException;
 import cn.com.qmth.examcloud.commons.helpers.JsonHttpResponseHolder;
 import cn.com.qmth.examcloud.core.oe.student.base.bean.CompareFaceSyncInfo;
-import cn.com.qmth.examcloud.core.oe.task.base.ExamCaptureProcessStatisticController;
 import cn.com.qmth.examcloud.core.oe.student.dao.ExamCaptureQueueRepo;
 import cn.com.qmth.examcloud.core.oe.student.dao.ExamCaptureRepo;
 import cn.com.qmth.examcloud.core.oe.student.dao.entity.ExamCaptureEntity;
 import cn.com.qmth.examcloud.core.oe.student.dao.enums.ExamCaptureQueueStatus;
+import cn.com.qmth.examcloud.core.oe.task.base.ExamCaptureProcessStatisticController;
 import cn.com.qmth.examcloud.core.oe.task.service.ExamCaptureQueueService;
 import cn.com.qmth.examcloud.core.oe.task.service.ExamCaptureService;
 import cn.com.qmth.examcloud.core.oe.task.service.ExamRecordDataService;
@@ -603,13 +603,13 @@ public class ExamCaptureServiceImpl implements ExamCaptureService {
 
         ExamCaptureEntity resultEntity = new ExamCaptureEntity();
 
-        String cameraInfos = queue.getCameraInfos();
-        if (StringUtils.isNotBlank(cameraInfos) && cameraInfos.length() >= 800) {
-            cameraInfos = "[{\"name\":\"虚拟摄像头信息超长!\",\"pid\":\"\",\"vid\":\"\"}]";
-            log.error("虚拟摄像头信息超长!");
+        if (StringUtils.length(queue.getCameraInfos()) >= Constants.VM_CAMERA_SIZE_LIMIT) {
+            resultEntity.setCameraInfos(Constants.VM_CAMERA_WARN);
+            log.warn("虚拟摄像头信息超长! " + queue.getExamRecordDataId());
+        } else {
+            resultEntity.setCameraInfos(queue.getCameraInfos());
         }
 
-        resultEntity.setCameraInfos(cameraInfos);
         resultEntity.setExamRecordDataId(queue.getExamRecordDataId());
         resultEntity.setExtMsg(queue.getExtMsg());
         resultEntity.setFaceCompareResult(queue.getFaceCompareResult());