| | |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | import com.alibaba.druid.support.json.JSONUtils; |
| | | import com.moral.mapper.AlarmMapper; |
| | | import com.moral.service.AlarmService; |
| | | import com.moral.service.SensorService; |
| | | |
| | | |
| | | @Service |
| | |
| | | List<Map<String, Object>> resultList = new ArrayList<>(); |
| | | devices.put("mac", mac); |
| | | List<Map<String, Object>> list = alarmMapper.getAlarmData(devices); |
| | | List<Map<String, Object>> newList1 = list.stream().distinct().collect(Collectors.toList()); |
| | | for (Map<String, Object> map : newList1) { |
| | | List<Map<String, Object>> newList = list.stream().distinct().collect(Collectors.toList()); |
| | | for (Map<String, Object> map : newList) { |
| | | for (String key : map.keySet()) { |
| | | String[] strings = map.get(key).toString().replace("$.", "") |
| | | .replace("[", "").replace("]", "") |
| | |
| | | } |
| | | } |
| | | Map<String, Object> hashMap = new HashMap<>(); |
| | | ArrayList<String> stateList1 = new ArrayList<>(); |
| | | ArrayList<String> stateList2 = new ArrayList<>(); |
| | | ArrayList<String> stateList3 = new ArrayList<>(); |
| | | for (Map<String, Object> map : newList1) { |
| | | Set<String> stateSet1 = new HashSet<>(); |
| | | Set<String> stateSet2 = new HashSet<>(); |
| | | Set<String> stateSet3 = new HashSet<>(); |
| | | for (Map<String, Object> map : newList) { |
| | | if (map.get("1") != null) { |
| | | stateList1.addAll((ArrayList<String>) map.get("1")); |
| | | hashMap.put("1", stateList1); |
| | | stateSet1.addAll((ArrayList<String>) map.get("1")); |
| | | hashMap.put("1", stateSet1); |
| | | } |
| | | if (map.get("2") != null) { |
| | | stateList2.addAll((ArrayList<String>) map.get("2")); |
| | | hashMap.put("2", stateList2); |
| | | stateSet2.addAll((ArrayList<String>) map.get("2")); |
| | | hashMap.put("2", stateSet2); |
| | | } |
| | | if (map.get("3") != null) { |
| | | stateList3.addAll((ArrayList<String>) map.get("3")); |
| | | hashMap.put("3", stateList3); |
| | | stateSet3.addAll((ArrayList<String>) map.get("3")); |
| | | hashMap.put("3", stateSet3); |
| | | } |
| | | |
| | | } |
| | | |
| | | for (String key : hashMap.keySet()) { |
| | | 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()) { |
| | |
| | | map.put("mac",mac); |
| | | map.put("time",startTime); |
| | | map.put("state", key); |
| | | ArrayList<String> stateList = (ArrayList<String>) hashMap.get(key); |
| | | for (String state : stateList) { |
| | | jsonMap.put(state,1); |
| | | Set<String> sensors = (Set<String>) hashMap.get(key); |
| | | for (String sensor : sensors) { |
| | | jsonMap.put(sensor,1); |
| | | } |
| | | map.put("json",JSONUtils.toJSONString(jsonMap)); |
| | | resultList.add(map); |