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