| | |
| | | @Resource |
| | | private AlarmMapper alarmMapper; |
| | | |
| | | @Resource |
| | | private SensorService sensorService; |
| | | |
| | | @Override |
| | | public void insertAlarmDaily() { |
| | | LocalDateTime time = LocalDateTime.now(); |
| | | LocalDateTime endTime = time.truncatedTo(ChronoUnit.DAYS); |
| | | LocalDateTime startTime = endTime.minusDays(1); |
| | | List<String> sensorKeys = sensorService.getSensorKeys(); |
| | | String year = startTime.getYear() + ""; |
| | | String month = null; |
| | | int monthValue = startTime.getMonthValue(); |
| | |
| | | } |
| | | String yearAndMonth = year + month; |
| | | Map<String, Object> devices = new HashMap<>(); |
| | | devices.put("sensorKeys", sensorKeys); |
| | | devices.put("start", startTime); |
| | | devices.put("end", endTime); |
| | | devices.put("yearAndMonth", yearAndMonth); |
| | | List<String> macs = alarmMapper.getMacs(devices); |
| | | devices.put("macs", macs); |
| | | for (String mac : macs) { |
| | | List<Map<String, Object>> resultList = new ArrayList<>(); |
| | | devices.put("mac", mac); |
| | |
| | | List<Map<String, Object>> newList1 = list.stream().distinct().collect(Collectors.toList()); |
| | | for (Map<String, Object> map : newList1) { |
| | | for (String key : map.keySet()) { |
| | | if (!"mac".equals(key)) { |
| | | String[] strings = map.get(key).toString().replace("$.", "") |
| | | .replace("[", "").replace("]", "") |
| | | .replace("\"", "").replace(" ", "").split(","); |
| | | |
| | | List<String> sensors = new ArrayList<String>(Arrays.asList(strings)); |
| | | map.put(key, sensors); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | Map<String, Object> hashMap = new HashMap<>(); |
| | | hashMap.put("mac", mac); |
| | | ArrayList<String> stateList1 = new ArrayList<>(); |
| | | ArrayList<String> stateList2 = new ArrayList<>(); |
| | | ArrayList<String> stateList3 = new ArrayList<>(); |
| | |
| | | } |
| | | |
| | | for (String key : hashMap.keySet()) { |
| | | if (!"mac".equals(key)) { |
| | | ArrayList<String> arrayList = (ArrayList<String>) hashMap.get(key); |
| | | List<String> sensorsList = arrayList.stream().distinct().collect(Collectors.toList()); |
| | | hashMap.put(key, sensorsList); |
| | | } |
| | | } |
| | | |
| | | for (String key : hashMap.keySet()) { |
| | | if(!"mac".equals(key)){ |
| | | Map<String, Object> jsonMap = new HashMap<>(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("mac",mac); |
| | |
| | | } |
| | | map.put("json",JSONUtils.toJSONString(jsonMap)); |
| | | resultList.add(map); |
| | | } |
| | | } |
| | | alarmMapper.insertAlarmDaily(resultList); |
| | | } |