Browse Source

缓存修改

wangliang 2 năm trước cách đây
mục cha
commit
2e4edd3534

+ 3 - 0
themis-business/src/main/java/com/qmth/themis/business/constant/SystemConstant.java

@@ -1,14 +1,17 @@
 package com.qmth.themis.business.constant;
 
+import cn.hutool.core.date.DateUtil;
 import com.google.common.collect.Sets;
 import com.qmth.themis.business.cache.ExamRecordCacheUtil;
 import com.qmth.themis.business.dto.ExpireTimeDTO;
 import com.qmth.themis.business.dto.cache.TEStudentCacheDto;
+import com.qmth.themis.business.entity.TBUser;
 import com.qmth.themis.business.entity.TOeExamRecord;
 import com.qmth.themis.business.enums.*;
 import com.qmth.themis.business.service.CacheService;
 import com.qmth.themis.business.service.TOeExamRecordService;
 import com.qmth.themis.business.util.RedisUtil;
+import com.qmth.themis.business.util.ServletUtil;
 import com.qmth.themis.business.util.SessionUtil;
 import com.qmth.themis.common.contanst.Constants;
 import com.qmth.themis.common.enums.ExceptionResultEnum;

+ 2 - 0
themis-business/src/main/java/com/qmth/themis/business/service/CacheService.java

@@ -6,6 +6,8 @@ import com.qmth.themis.business.entity.SysConfig;
 import com.qmth.themis.business.entity.TBOrg;
 import com.qmth.themis.business.entity.TBUser;
 
+import java.util.Map;
+
 /**
  * @Description: 缓存 服务类
  * @Param:

+ 11 - 1
themis-business/src/main/java/com/qmth/themis/business/service/impl/TIeReportServiceImpl.java

@@ -7,7 +7,9 @@ import com.qmth.themis.business.bean.admin.*;
 import com.qmth.themis.business.bean.result.TimeOnlineDataResult;
 import com.qmth.themis.business.bean.result.TimeScaleDataResult;
 import com.qmth.themis.business.cache.bean.ExamCacheBean;
+import com.qmth.themis.business.constant.SystemConstant;
 import com.qmth.themis.business.dao.*;
+import com.qmth.themis.business.entity.SysConfig;
 import com.qmth.themis.business.entity.TBOrg;
 import com.qmth.themis.business.entity.TBUser;
 import com.qmth.themis.business.entity.TEExamActivity;
@@ -15,6 +17,7 @@ import com.qmth.themis.business.enums.InvigilateMonitorStatusEnum;
 import com.qmth.themis.business.service.*;
 import com.qmth.themis.business.util.ServletUtil;
 import com.qmth.themis.common.contanst.Constants;
+import com.qmth.themis.common.exception.BusinessException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -381,14 +384,21 @@ public class TIeReportServiceImpl implements TIeReportService {
      */
     @Override
     public List<TimeScaleDataResult> warnTrend() {
-        int scaleSize = 30, interval = 1;
         TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
+        SysConfig onlineWarnScaleSize = cacheService.addSysConfigCache(SystemConstant.ONLINE_WARN_SCALESIZE);
+        Optional.ofNullable(onlineWarnScaleSize).orElseThrow(() -> new BusinessException("在线人数/预警时间趋势统计格数未配置"));
+
+        SysConfig onlineWarnInterval = cacheService.addSysConfigCache(SystemConstant.ONLINE_WARN_INTERVAL);
+        Optional.ofNullable(onlineWarnInterval).orElseThrow(() -> new BusinessException("在线人数/预警时间趋势统计间隔未配置"));
+
+        int scaleSize = Integer.parseInt(onlineWarnScaleSize.getConfigValue()), interval = Integer.parseInt(onlineWarnInterval.getConfigValue());
         List<Integer> timeSize = new ArrayList<>(scaleSize);
         for (int i = interval; i <= scaleSize * interval; i = i + interval) {
             timeSize.add(i);
         }
         String currentDate = DateUtil.format(new Date(), Constants.DEFAULT_DATE_PATTERN);
         Map<String, String> map = this.getTimeScale(timeSize, currentDate);
+
         List<TimeScaleDataResult> timeScaleDataResultList = tOeExamRecordMapper.getWarnTrend(tbUser.getOrgId(), new ArrayList<>(map.values()), currentDate, interval);
         List<TimeOnlineDataResult> timeOnlineDataResultList = tOeExamRecordMapper.getTimeOnlineData(tbUser.getOrgId(), currentDate, scaleSize);
         Map<String, TimeOnlineDataResult> onlineMap = null;