wangliang 4 年之前
父节点
当前提交
a24b154758

+ 2 - 0
themis-backend/src/main/java/com/qmth/themis/backend/api/TIeInvigilateController.java

@@ -410,6 +410,7 @@ public class TIeInvigilateController {
                     TEExamBreachLog teExamBreachLog = new TEExamBreachLog(examId, examActivityId, l, examStudentId, type.name(), description, status);
                     teExamBreachLog.setCreateId(tbUser.getId());
                     finalTeExamBreachLogList.add(teExamBreachLog);
+                    ExamRecordCacheUtil.setBreachStatus(l, 0, true);
                 }
             } else {//撤销违纪
                 BreachCancelTypeEnum type = BreachCancelTypeEnum.valueOf(String.valueOf(mapParameter.get("type")));
@@ -421,6 +422,7 @@ public class TIeInvigilateController {
                     s.setDescription(description);
                     s.setStatus(status);
                     s.setUpdateId(tbUser.getId());
+                    ExamRecordCacheUtil.setBreachStatus(s.getExamRecordId(), 1, true);
                 });
             }
             teExamBreachLogService.saveOrUpdateBatch(teExamBreachLogList);

+ 12 - 0
themis-business/src/main/java/com/qmth/themis/business/entity/TEConfig.java

@@ -61,6 +61,18 @@ public class TEConfig implements Serializable {
     @TableField(value = "total_face_compare_error_count")
     private Integer totalFaceCompareErrorCount;
 
+    @ApiModelProperty(value = "过程人脸验证参数配置")
+    @TableField(value = "in_process_face_verify_config")
+    private String inProcessFaceVerifyConfig;
+
+    public String getInProcessFaceVerifyConfig() {
+        return inProcessFaceVerifyConfig;
+    }
+
+    public void setInProcessFaceVerifyConfig(String inProcessFaceVerifyConfig) {
+        this.inProcessFaceVerifyConfig = inProcessFaceVerifyConfig;
+    }
+
     public Integer getNoFaceCountError() {
         return noFaceCountError;
     }

+ 1 - 1
themis-business/src/main/java/com/qmth/themis/business/enums/WebsocketTypeEnum.java

@@ -27,7 +27,7 @@ public enum WebsocketTypeEnum {
 
     BREACH_STOP_EXAM("预警强制收卷", "breachStopExam"),
 
-    HAND_STOP_EXAM("手动收卷", "handStopExam"),
+//    HAND_STOP_EXAM("手动收卷", "handStopExam"),
 
     EXAM_START("考试开始", "examStart"),
 

+ 2 - 1
themis-business/src/main/resources/db/init.sql

@@ -872,6 +872,7 @@ CREATE TABLE `t_e_config` (
   `realness_count` int DEFAULT NULL COMMENT '真实性检测数量',
   `multiple_face_count_error` int DEFAULT NULL COMMENT '一个考试场次中检测到多张人脸超过3次(持续15秒连续帧画面90%存在多张人脸记为次数1次)',
   `total_face_compare_error_count` int DEFAULT NULL COMMENT '一个考试场次内人脸抓拍检测(D12)失败累计次数超过6次',
+  `in_process_face_verify_config` mediumtext COMMENT '过程人脸验证参数配置',
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='全局配置';
 
@@ -879,7 +880,7 @@ CREATE TABLE `t_e_config` (
 -- Records of t_e_config
 -- ----------------------------
 BEGIN;
-INSERT INTO `t_e_config` VALUES (1, 0.1, 3, 3, 30, 3, 3, 1, 3, 6);
+INSERT INTO `t_e_config` VALUES (1, 0.1, 3, 3, 30, 3, 3, 1, 3, 6, '{\"inProcessFaceVerifyConfig\":{\"faceDetectIntervalSeconds\":1,\"faceDetectContinueSeconds\":30,\"faceDetectWarningThreshold\":3,\"faceCompareIntervalSeconds\":2,\"faceCompareContinueSeconds\":60,\"faceCompareFailurePercent\":80,\"faceCompareWarningThreshold\":3,\"eyeCloseDetectIntervalSeconds\":900,\"eyeCloseDetectContinueSeconds\":60,\"eyeCloseDetectWarningThreshold\":6,\"realnessDetectIntervalSeconds\":120,\"forceFinishThreshold\":3,\"forceFinishCondition\":[\"faceDetect\",\"faceCompare\"]}}');
 COMMIT;
 
 -- ----------------------------