src/main/java/com/yssh/controller/WarningAnalyseController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/yssh/controller/WarningAnalyseController.java
@@ -12,6 +12,12 @@ import com.yssh.service.IWarningAnalyseService; import com.yssh.utils.Result; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @Api(tags="告警分析") @RequestMapping("/warning") @RestController @@ -20,6 +26,12 @@ @Autowired private IWarningAnalyseService warningService; private static ConcurrentHashMap<String, Object> cache = new ConcurrentHashMap<>(5); private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); public static final long CACHE_HOLD_TIME_24H = 24 * 60 * 60 * 1000L; //报警分析 /** @@ -62,8 +74,24 @@ @ApiOperationSupport(order = 4) @ApiOperation(value = "三小时监测站点数据变化趋势", notes = "返回值为三小时监测站点监测数据,返回值为map集合,其中key为站点名称,value为list集合,保存每天监测数值数据") @GetMapping("/locationDataChange") public Result locationDataChange(){ return Result.OK(warningService.selectEachLocationDataChange()); public Result locationDataChange() { //return Result.OK(warningService.selectEachLocationDataChange()); String key = dateFormat.format(new Date()); Map<String, List<Double>> map = null; if (cache.containsKey(key)) { map = (Map<String, List<Double>>) cache.get(key); } else { map = warningService.selectEachLocationDataChange(); if (null != map && map.size() > 0) { if (cache.size() > 0) { cache.clear(); } cache.put(key, map); } } return Result.ok(map); } @ApiOperationSupport(order = 4) src/main/java/com/yssh/service/impl/WarningAnalyseServiceImpl.java
@@ -229,7 +229,7 @@ @Override public Map<String, List<Double>> selectEachLocationDataChange() { Map<String, List<Double>> result = new LinkedHashMap<>(); /*Map<String, List<Double>> result = new LinkedHashMap<>(); List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); Date nowDate = DateUtils.getNowDate(); Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, nowDate)); @@ -249,6 +249,34 @@ result.put(c.getName(), values); } }); return result;*/ Map<String, List<Double>> result = new LinkedHashMap<>(); List<MonitorPointPosition> checkPoints = commonService.getCheckPoints3d(); Date nowDate = DateUtils.getNowDate(); Long endTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, nowDate)); Long startTime = Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHH, DateUtils.getAPeriodOfTime(nowDate, -3, Calendar.HOUR_OF_DAY))); List<DictRecord> recordList = dictRecordMapper.selectByTimeDictRecordList(startTime, endTime); List<String> tableNames = new ArrayList<>(); for(DictRecord dr : recordList){ if (suYuanMapper.isTableExists(dr.getTableName())>0){ tableNames.add(dr.getTableName()); } } if (tableNames.isEmpty()){ return result; } for(MonitorPointPosition c : checkPoints){ List<Double> values = new ArrayList<>(); List<SuYuanMonitorData> data = suYuanMapper.getMonitorData(tableNames, c.getId()); data.forEach(v -> { values.add(v.getValue()); }); result.put(c.getName(), values); } return result; }