|
@@ -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;
|