| | |
| | | |
| | | import java.util.ArrayList; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | |
| | | import java.util.LinkedHashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | |
| | | |
| | | @Override |
| | | public Map<String, Object> getSensorsByMac(Map<String, Object> params) { |
| | | List<String> sensorCodes = Arrays.asList(Constants.SENSOR_CODE_PM25 |
| | | , Constants.SENSOR_CODE_PM10 |
| | | , Constants.SENSOR_CODE_SO2 |
| | | , Constants.SENSOR_CODE_NO2 |
| | | , Constants.SENSOR_CODE_CO |
| | | , Constants.SENSOR_CODE_O3 |
| | | , Constants.SENSOR_CODE_TEMP |
| | | , "a01002" |
| | | , Constants.SENSOR_CODE_WIND_SPEED |
| | | , Constants.SENSOR_CODE_WIND_DIR |
| | | , "a01006" |
| | | , "a00e12" |
| | | ); |
| | | |
| | | //设备mac |
| | | List<String> macs = (List<String>) params.remove("macs"); |
| | | List<Map<String, Object>> elementLists = new ArrayList<>(); |
| | |
| | | elementLists.add(map); |
| | | } |
| | | |
| | | Map<String, Object> map = elementLists.parallelStream() |
| | | Map<String, Object> map = elementLists.stream() |
| | | .filter(elementList -> elementList.size() != 0) |
| | | .reduce((a, b) -> { |
| | | a.keySet().retainAll(b.keySet()); |
| | | return a; |
| | | }).orElse(new HashMap<>()); |
| | | return map; |
| | | Map<String, Object> result = new LinkedHashMap<>(); |
| | | sensorCodes.forEach(sensorCode -> { |
| | | Object o = map.remove(sensorCode); |
| | | if (o != null) { |
| | | result.put(sensorCode, o); |
| | | } |
| | | }); |
| | | result.putAll(map); |
| | | return result; |
| | | } |
| | | |
| | | @Override |