Browse Source

预警数increment修改

wangliang 1 year ago
parent
commit
be95103012

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/AlreadyBreakCountBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 已断点续考次数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class AlreadyBreakCountBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public AlreadyBreakCountBean() {
-
-    }
-
-    public AlreadyBreakCountBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/ExceptionCountBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 异常数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class ExceptionCountBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public ExceptionCountBean() {
-
-    }
-
-    public ExceptionCountBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/InProcessLivenessVerifyCountBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 已完成过程活体验证次数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class InProcessLivenessVerifyCountBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public InProcessLivenessVerifyCountBean() {
-
-    }
-
-    public InProcessLivenessVerifyCountBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/WarningCountBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 预警数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class WarningCountBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public WarningCountBean() {
-
-    }
-
-    public WarningCountBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/WarningMultipleFaceCountBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 陌生人脸预警数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class WarningMultipleFaceCountBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public WarningMultipleFaceCountBean() {
-
-    }
-
-    public WarningMultipleFaceCountBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 0 - 41
themis-business/src/main/java/com/qmth/themis/business/bean/status/WarningUnreadBean.java

@@ -1,41 +0,0 @@
-package com.qmth.themis.business.bean.status;
-
-import java.io.Serializable;
-
-/**
- * @Description: 预警未读数bean
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2022/5/5
- */
-public class WarningUnreadBean implements Serializable {
-
-    Integer number;
-    Long timestamp;//时间戳
-
-    public WarningUnreadBean() {
-
-    }
-
-    public WarningUnreadBean(Integer number, Long timestamp) {
-        this.number = number;
-        this.timestamp = timestamp;
-    }
-
-    public Integer getNumber() {
-        return number;
-    }
-
-    public void setNumber(Integer number) {
-        this.number = number;
-    }
-
-    public Long getTimestamp() {
-        return timestamp;
-    }
-
-    public void setTimestamp(Long timestamp) {
-        this.timestamp = timestamp;
-    }
-}

+ 24 - 156
themis-business/src/main/java/com/qmth/themis/business/cache/ExamRecordCacheUtil.java

@@ -242,74 +242,12 @@ public class ExamRecordCacheUtil {
     }
 
     public static Integer getAlreadyBreakCount(Long recordId) {
-        AlreadyBreakCountBean alreadyBreakCountBean = getAlreadyBreakCountBean(recordId);
-        if (Objects.isNull(alreadyBreakCountBean) || Objects.isNull(alreadyBreakCountBean.getNumber())) {
-            return null;
-        } else {
-            return alreadyBreakCountBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode()).toString()) : null;
     }
 
-    public static void setAlreadyBreakCount(Long recordId, Integer alreadyBreakCount, Long timestamp) {
-        AlreadyBreakCountBean alreadyBreakCountBean = getAlreadyBreakCountBean(recordId);
-        if (Objects.isNull(alreadyBreakCountBean)) {
-            alreadyBreakCountBean = new AlreadyBreakCountBean(alreadyBreakCount, timestamp);
-        } else {
-            if (Objects.nonNull(alreadyBreakCountBean.getTimestamp()) && alreadyBreakCountBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                alreadyBreakCountBean.setNumber(alreadyBreakCount);
-                alreadyBreakCountBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode(), alreadyBreakCountBean);
-    }
-
-    private static AlreadyBreakCountBean getAlreadyBreakCountBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode())) ?
-                (AlreadyBreakCountBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode()) :
-                null;
-    }
-
-    private static InProcessLivenessVerifyCountBean getInProcessLivenessVerifyCountBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode())) ?
-                (InProcessLivenessVerifyCountBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode()) :
-                null;
-    }
-
-    private static WarningCountBean getWarningCountBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode())) ?
-                (WarningCountBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode()) :
-                null;
-    }
-
-    private static WarningUnreadBean getWarningUnreadBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode())) ?
-                (WarningUnreadBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode()) :
-                null;
-    }
-
-    private static WarningMultipleFaceCountBean getWarningMultipleFaceCountBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode())) ?
-                (WarningMultipleFaceCountBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode()) :
-                null;
-    }
-
-    private static ExceptionCountBean getExceptionCountBean(Long recordId) {
-        return Objects.nonNull(
-                redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode())) ?
-                (ExceptionCountBean) redisUtil
-                        .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode()) :
-                null;
+    public static void setAlreadyBreakCount(Long recordId, Integer alreadyBreakCount) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode(), Long.parseLong(alreadyBreakCount.toString()));
     }
 
     private static ExamStatusBean getStatusBean(Long recordId) {
@@ -359,96 +297,40 @@ public class ExamRecordCacheUtil {
                 .get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exam_activity_id.getCode());
     }
 
-    public static void setWarningCount(Long recordId, Integer warningCount, Long timestamp) {
-        WarningCountBean warningCountBean = getWarningCountBean(recordId);
-        if (Objects.isNull(warningCountBean)) {
-            warningCountBean = new WarningCountBean(warningCount, timestamp);
-        } else {
-            if (Objects.nonNull(warningCountBean.getTimestamp()) && warningCountBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                warningCountBean.setNumber(warningCount);
-                warningCountBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode(), warningCountBean);
+    public static void setWarningCount(Long recordId, Integer warningCount) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode(), Long.parseLong(warningCount.toString()));
     }
 
     public static Integer getWarningCount(Long recordId) {
-        WarningCountBean warningCountBean = getWarningCountBean(recordId);
-        if (Objects.isNull(warningCountBean) || Objects.isNull(warningCountBean.getNumber())) {
-            return null;
-        } else {
-            return warningCountBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode()).toString()) : null;
     }
 
-    public static void setWarningUnread(Long recordId, Integer warningUnread, Long timestamp) {
-        WarningUnreadBean warningUnreadBean = getWarningUnreadBean(recordId);
-        if (Objects.isNull(warningUnreadBean)) {
-            warningUnreadBean = new WarningUnreadBean(warningUnread, timestamp);
-        } else {
-            if (Objects.nonNull(warningUnreadBean.getTimestamp()) && warningUnreadBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                warningUnreadBean.setNumber(warningUnread);
-                warningUnreadBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode(), warningUnreadBean);
+    public static void setWarningUnread(Long recordId, Integer warningUnread) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode(), Long.parseLong(warningUnread.toString()));
     }
 
     public static Integer getWarningUnread(Long recordId) {
-        WarningUnreadBean warningUnreadBean = getWarningUnreadBean(recordId);
-        if (Objects.isNull(warningUnreadBean) || Objects.isNull(warningUnreadBean.getNumber())) {
-            return null;
-        } else {
-            return warningUnreadBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode()).toString()) : null;
     }
 
-    public static void setWarningMultipleFaceCount(Long recordId, Integer warningMultipleFaceCount, Long timestamp) {
-        WarningMultipleFaceCountBean warningMultipleFaceCountBean = getWarningMultipleFaceCountBean(recordId);
-        if (Objects.isNull(warningMultipleFaceCountBean)) {
-            warningMultipleFaceCountBean = new WarningMultipleFaceCountBean(warningMultipleFaceCount, timestamp);
-        } else {
-            if (Objects.nonNull(warningMultipleFaceCountBean.getTimestamp()) && warningMultipleFaceCountBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                warningMultipleFaceCountBean.setNumber(warningMultipleFaceCount);
-                warningMultipleFaceCountBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode(), warningMultipleFaceCountBean);
+    public static void setWarningMultipleFaceCount(Long recordId, Integer warningMultipleFaceCount) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode(), Long.parseLong(warningMultipleFaceCount.toString()));
     }
 
     public static Integer getWarningMultipleFaceCount(Long recordId) {
-        WarningMultipleFaceCountBean warningMultipleFaceCountBean = getWarningMultipleFaceCountBean(recordId);
-        if (Objects.isNull(warningMultipleFaceCountBean) || Objects.isNull(warningMultipleFaceCountBean.getNumber())) {
-            return null;
-        } else {
-            return warningMultipleFaceCountBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode()).toString()) : null;
     }
 
-    public static void setExceptionCount(Long recordId, Integer exceptionCount, Long timestamp) {
-        ExceptionCountBean exceptionCountBean = getExceptionCountBean(recordId);
-        if (Objects.isNull(exceptionCountBean)) {
-            exceptionCountBean = new ExceptionCountBean(exceptionCount, timestamp);
-        } else {
-            if (Objects.nonNull(exceptionCountBean.getTimestamp()) && exceptionCountBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                exceptionCountBean.setNumber(exceptionCount);
-                exceptionCountBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode(), exceptionCountBean);
+    public static void setExceptionCount(Long recordId, Integer exceptionCount) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode(), Long.parseLong(exceptionCount.toString()));
     }
 
     public static Integer getExceptionCount(Long recordId) {
-        ExceptionCountBean exceptionCountBean = getExceptionCountBean(recordId);
-        if (Objects.isNull(exceptionCountBean) || Objects.isNull(exceptionCountBean.getNumber())) {
-            return null;
-        } else {
-            return exceptionCountBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode()).toString()) : null;
     }
 
     public static void setBreachStatus(Long recordId, Integer breachStatus, Long timestamp) {
@@ -474,27 +356,13 @@ public class ExamRecordCacheUtil {
         }
     }
 
-    public static void setInProcessLivenessVerifyCount(Long recordId, Integer inProcessLivenessVerifyCount, Long timestamp) {
-        InProcessLivenessVerifyCountBean inProcessLivenessVerifyCountBean = getInProcessLivenessVerifyCountBean(recordId);
-        if (Objects.isNull(inProcessLivenessVerifyCountBean)) {
-            inProcessLivenessVerifyCountBean = new InProcessLivenessVerifyCountBean(inProcessLivenessVerifyCount, timestamp);
-        } else {
-            if (Objects.nonNull(inProcessLivenessVerifyCountBean.getTimestamp()) && inProcessLivenessVerifyCountBean.getTimestamp().longValue() < timestamp
-                    .longValue()) {
-                inProcessLivenessVerifyCountBean.setNumber(inProcessLivenessVerifyCount);
-                inProcessLivenessVerifyCountBean.setTimestamp(timestamp);
-            }
-        }
-        redisUtil.set(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode(), inProcessLivenessVerifyCountBean);
+    public static void setInProcessLivenessVerifyCount(Long recordId, Integer inProcessLivenessVerifyCount) {
+        redisUtil.setInc(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode(), Long.parseLong(inProcessLivenessVerifyCount.toString()));
     }
 
     public static Integer getInProcessLivenessVerifyCount(Long recordId) {
-        InProcessLivenessVerifyCountBean inProcessLivenessVerifyCountBean = getInProcessLivenessVerifyCountBean(recordId);
-        if (Objects.isNull(inProcessLivenessVerifyCountBean) || Objects.isNull(inProcessLivenessVerifyCountBean.getNumber())) {
-            return null;
-        } else {
-            return inProcessLivenessVerifyCountBean.getNumber();
-        }
+        return Objects.nonNull(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode())) ?
+                Integer.parseInt(redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode()).toString()) : null;
     }
 
     public static void setMonitorKey(Long recordId, String monitorKey) {

+ 7 - 6
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEOrgSummaryServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.themis.business.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.themis.business.bean.admin.OrgSummaryBean;
 import com.qmth.themis.business.cache.bean.ExamCacheBean;
@@ -71,19 +72,19 @@ public class TEOrgSummaryServiceImpl extends ServiceImpl<TEOrgSummaryMapper, TEO
                 teOrgSummaryService.saveOrUpdate(teOrgSummary);
             } else {
                 orgExamIdMap.forEach((k, v) -> {//从考试批次缓存信息里拿取在线人数、考试人数、完成考生数
-                    Integer onlineCount = 0, examCount = 0, finishStudentCount = 0;
+                    Integer onlineCount = 0, examCount = 0;
                     for (Long l : v) {
                         List<TEExamSummary> teExamSummaryList = themisCacheService.getExamSummaryCache(l);
                         for (TEExamSummary t : teExamSummaryList) {
                             onlineCount = onlineCount + t.getOnlineCount();
                             examCount = examCount + t.getExamCount();
-                            finishStudentCount = finishStudentCount + t.getFinishCount();
                         }
                     }
-                    //这里取不了,examSummary只有考生完成数,没有考试科目数
-                    Integer finishCount = this.baseMapper.orgSummaryByFinishCount(orgId, v);
-                    TEOrgSummary teOrgSummary = new TEOrgSummary(orgId, onlineCount, examCount, finishCount, finishStudentCount);
-                    teOrgSummaryService.saveOrUpdate(teOrgSummary);
+                    UpdateWrapper<TEOrgSummary> teOrgSummaryUpdateWrapper = new UpdateWrapper<>();
+                    teOrgSummaryUpdateWrapper.lambda().set(TEOrgSummary::getOnlineCount, onlineCount)
+                            .set(TEOrgSummary::getExamCount, examCount)
+                            .eq(TEOrgSummary::getOrgId, orgId);
+                    teOrgSummaryService.update(teOrgSummaryUpdateWrapper);
                 });
             }
         }

+ 12 - 60
themis-business/src/main/java/com/qmth/themis/business/service/impl/TOeExamRecordServiceImpl.java

@@ -28,6 +28,7 @@ import com.qmth.themis.common.exception.BusinessException;
 import com.qmth.themis.common.util.FileUtil;
 import com.qmth.themis.common.util.GsonUtil;
 import com.qmth.themis.common.util.SimpleBeanUtil;
+import com.tencentcloudapi.cme.v20191029.models.IntegerRange;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -502,30 +503,6 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
             if (Objects.nonNull(o) && o instanceof BreachStatusBean) {
                 record.put(ExamRecordFieldEnum.breach_status.getCode(), ((BreachStatusBean) o).getStatus());
             }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_count.getCode());
-            if (Objects.nonNull(o) && o instanceof WarningCountBean) {
-                record.put(ExamRecordFieldEnum.warning_count.getCode(), ((WarningCountBean) o).getNumber());
-            }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_unread.getCode());
-            if (Objects.nonNull(o) && o instanceof WarningUnreadBean) {
-                record.put(ExamRecordFieldEnum.warning_unread.getCode(), ((WarningUnreadBean) o).getNumber());
-            }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.warning_multiple_face_count.getCode());
-            if (Objects.nonNull(o) && o instanceof WarningMultipleFaceCountBean) {
-                record.put(ExamRecordFieldEnum.warning_multiple_face_count.getCode(), ((WarningMultipleFaceCountBean) o).getNumber());
-            }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.exception_count.getCode());
-            if (Objects.nonNull(o) && o instanceof ExceptionCountBean) {
-                record.put(ExamRecordFieldEnum.exception_count.getCode(), ((ExceptionCountBean) o).getNumber());
-            }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.already_break_count.getCode());
-            if (Objects.nonNull(o) && o instanceof AlreadyBreakCountBean) {
-                record.put(ExamRecordFieldEnum.already_break_count.getCode(), ((AlreadyBreakCountBean) o).getNumber());
-            }
-            o = redisUtil.get(RedisKeyHelper.examRecordCacheKey(recordId), ExamRecordFieldEnum.in_process_liveness_verify_count.getCode());
-            if (Objects.nonNull(o) && o instanceof InProcessLivenessVerifyCountBean) {
-                record.put(ExamRecordFieldEnum.in_process_liveness_verify_count.getCode(), ((InProcessLivenessVerifyCountBean) o).getNumber());
-            }
             er = GsonUtil.fromJson(GsonUtil.toJson(record), TOeExamRecord.class);
         }
         return er;
@@ -579,26 +556,15 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
      */
     @Override
     public void updateWarningCountCache(Long id, TIeInvigilateWarnInfo tIeInvigilateWarnInfo) {
-        Integer warningCount = ExamRecordCacheUtil.getWarningCount(id);
         ExamRecordStatusEnum status = ExamRecordCacheUtil.getStatus(id);
         if (Objects.nonNull(status) && status != ExamRecordStatusEnum.PERSISTED) {
-            long timestamp = System.currentTimeMillis();
-            if (Objects.nonNull(warningCount)) {
-                ExamRecordCacheUtil.setWarningCount(id, warningCount + 1, timestamp);
-            } else {
-                ExamRecordCacheUtil.setWarningCount(id, 1, timestamp);
-            }
-            Integer warningUnread = ExamRecordCacheUtil.getWarningUnread(id);
-            if (Objects.nonNull(warningUnread)) {
-                ExamRecordCacheUtil.setWarningUnread(id, warningUnread + 1, timestamp);
-            } else {
-                ExamRecordCacheUtil.setWarningUnread(id, 1, timestamp);
-            }
+            ExamRecordCacheUtil.setWarningCount(id, 1);
+            ExamRecordCacheUtil.setWarningUnread(id, 1);
             if (Objects.nonNull(tIeInvigilateWarnInfo) && tIeInvigilateWarnInfo.getType() == VerifyExceptionEnum.FACE_COUNT_ERROR
                     && Objects.equals(tIeInvigilateWarnInfo.getLevel(), "D8")) {
                 this.updateWarningMultipleFaceCountCache(id);
             }
-            this.sendExamRecordDataSaveMq(id, timestamp);
+            this.sendExamRecordDataSaveMq(id, System.currentTimeMillis());
         } else {
             //已经结束了直接更新数据库
             this.sendExamRecordDataUpdateWarningCountMq(id);
@@ -617,16 +583,15 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
         Integer warningUnread = ExamRecordCacheUtil.getWarningUnread(id);
         ExamRecordStatusEnum status = ExamRecordCacheUtil.getStatus(id);
         if (Objects.nonNull(status) && status != ExamRecordStatusEnum.PERSISTED) {
-            long timestamp = System.currentTimeMillis();
             if (Objects.nonNull(warningUnread) && number.intValue() == 0) {
-                ExamRecordCacheUtil.setWarningUnread(id, number, timestamp);
+                ExamRecordCacheUtil.setWarningUnread(id, -warningUnread);
             } else if (Objects.nonNull(warningUnread) && number.intValue() > 0) {
-                ExamRecordCacheUtil.setWarningUnread(id, warningUnread - number, timestamp);
+                ExamRecordCacheUtil.setWarningUnread(id, -(warningUnread - number));
             } else {
-                ExamRecordCacheUtil.setWarningUnread(id, 0, timestamp);
+                ExamRecordCacheUtil.setWarningUnread(id, -warningUnread);
             }
             if (Objects.nonNull(updateDb) && updateDb) {
-                this.sendExamRecordDataSaveMq(id, timestamp);
+                this.sendExamRecordDataSaveMq(id, System.currentTimeMillis());
             }
         } else {
             if (Objects.nonNull(updateDb) && updateDb) {
@@ -643,15 +608,9 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
      */
     @Override
     public void updateWarningMultipleFaceCountCache(Long id) {
-        Integer warningMultipleFaceCount = ExamRecordCacheUtil.getWarningMultipleFaceCount(id);
         ExamRecordStatusEnum status = ExamRecordCacheUtil.getStatus(id);
         if (Objects.nonNull(status) && status != ExamRecordStatusEnum.PERSISTED) {
-            long timestamp = System.currentTimeMillis();
-            if (Objects.nonNull(warningMultipleFaceCount)) {
-                ExamRecordCacheUtil.setWarningMultipleFaceCount(id, warningMultipleFaceCount + 1, timestamp);
-            } else {
-                ExamRecordCacheUtil.setWarningMultipleFaceCount(id, 1, timestamp);
-            }
+            ExamRecordCacheUtil.setWarningMultipleFaceCount(id, 1);
         }
     }
 
@@ -662,15 +621,9 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
      */
     @Override
     public void updateExceptionCountCache(Long id) {
-        Integer exceptionCount = ExamRecordCacheUtil.getExceptionCount(id);
         ExamRecordStatusEnum status = ExamRecordCacheUtil.getStatus(id);
         if (Objects.nonNull(status) && status != ExamRecordStatusEnum.PERSISTED) {
-            long timestamp = System.currentTimeMillis();
-            if (Objects.nonNull(exceptionCount)) {
-                ExamRecordCacheUtil.setExceptionCount(id, exceptionCount + 1, timestamp);
-            } else {
-                ExamRecordCacheUtil.setExceptionCount(id, 1, timestamp);
-            }
+            ExamRecordCacheUtil.setExceptionCount(id, 1);
         }
     }
 
@@ -714,8 +667,7 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
             ExamRecordCacheUtil.setEntryAuthenticationId(recordId, entryAuthenticationId);
             ExamRecordCacheUtil.setEntryAuthenticationResult(recordId, entryAuthenticationResult);
         } else if (LivenessTypeEnum.IN_PROCESS.equals(type)) {
-            Integer count = Objects.isNull(ExamRecordCacheUtil.getInProcessLivenessVerifyCount(recordId)) ? 0 : ExamRecordCacheUtil.getInProcessLivenessVerifyCount(recordId);
-            ExamRecordCacheUtil.setInProcessLivenessVerifyCount(recordId, count + 1, System.currentTimeMillis());
+            ExamRecordCacheUtil.setInProcessLivenessVerifyCount(recordId, 1);
         }
         this.sendExamRecordDataSaveMq(recordId, System.currentTimeMillis());
     }
@@ -1338,7 +1290,7 @@ public class TOeExamRecordServiceImpl extends ServiceImpl<TOeExamRecordMapper, T
                     ExamRecordCacheUtil.setLastBreakId(recordId, breakId);
                     ExamRecordCacheUtil.setStatus(recordId, ExamRecordStatusEnum.BREAK_OFF, lastBreakTimeNow);
                     ExamRecordCacheUtil.setLastBreakTime(recordId, lastBreakTimeNow);
-                    ExamRecordCacheUtil.setAlreadyBreakCount(recordId, alreadyBreakCount + 1, lastBreakTimeNow);
+                    ExamRecordCacheUtil.setAlreadyBreakCount(recordId, 1);
 
                     Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
                     Long examId = ExamRecordCacheUtil.getExamId(recordId);