From 7756a8fda1e55ceb52a4b87c963ac4529ce2e6e7 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 03 Jun 2020 10:36:25 +0800 Subject: [PATCH] alarm_daily统计任务更新 --- src/main/resources/mapper/AlarmMapper.xml | 5 ----- src/main/java/com/moral/service/impl/AlarmServiceImpl.java | 28 +++++++++++++--------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java index f4da1e8..db9d8eb 100644 --- a/src/main/java/com/moral/service/impl/AlarmServiceImpl.java +++ b/src/main/java/com/moral/service/impl/AlarmServiceImpl.java @@ -29,16 +29,12 @@ @Resource private SensorService sensorService; - @Resource - private DeviceService deviceService; - @Override public List<Map<String, Object>> getAlarmData() { LocalDateTime time = LocalDateTime.now(); LocalDateTime endTime = time.truncatedTo(ChronoUnit.DAYS); LocalDateTime startTime = endTime.minusDays(1); List<String> sensorKeys = sensorService.getSensorKeys(); - List<String> macs = deviceService.getMacs(); String year = startTime.getYear() + ""; String month = null; int monthValue = startTime.getMonthValue(); @@ -52,8 +48,8 @@ devices.put("sensorKeys", sensorKeys); devices.put("start", startTime); devices.put("end", endTime); - devices.put("macs", macs); devices.put("yearAndMonth", yearAndMonth); + List<Map<String, Object>> list = alarmMapper.getAlarmData(devices); for (Map<String, Object> map : list) { ArrayList<String> list1 = new ArrayList<>(); @@ -129,18 +125,20 @@ List<Map<String, Object>> resultList = new ArrayList<>(); for (Map<String, Object> map : list) { - for (int i = 0; i < map.keySet().size() - 1; i++) { - Map<String, Object> hashMap = new HashMap<>(); + for (String key : map.keySet()) { Map<String, Object> jsonMap = new HashMap<>(); - hashMap.put("mac", map.get("mac").toString()); - hashMap.put("state", i + 1); - hashMap.put("time", startTime); - ArrayList<String> arrayList = (ArrayList<String>) map.get(i + 1 + ""); - for (String sensorKey : arrayList) { - jsonMap.put(sensorKey, 1); + if (!"mac".equals(key)) { + Map<String, Object> hashMap = new HashMap<>(); + hashMap.put("mac",map.get("mac")); + hashMap.put("time",startTime); + hashMap.put("state",key); + ArrayList<String> stateList = (ArrayList<String>) map.get(key); + for (String state : stateList) { + jsonMap.put(state,1); + } + hashMap.put("json", JSONUtils.toJSONString(jsonMap)); + resultList.add(hashMap); } - hashMap.put("json", JSONUtils.toJSONString(jsonMap)); - resultList.add(hashMap); } } return resultList; diff --git a/src/main/resources/mapper/AlarmMapper.xml b/src/main/resources/mapper/AlarmMapper.xml index 5ab87ad..7a7c6b0 100644 --- a/src/main/resources/mapper/AlarmMapper.xml +++ b/src/main/resources/mapper/AlarmMapper.xml @@ -12,11 +12,6 @@ WHERE time >= #{start} AND time <![CDATA[<]]> #{end} - AND mac in - <foreach collection="macs" open="(" separator="," close=")" - item="mac"> - #{mac} - </foreach> </select> <insert id="insertAlarmDaily"> -- Gitblit v1.8.0