From b284d078f196af80a105dc3bcb610d8ed37d9251 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Fri, 08 Nov 2019 11:49:29 +0800 Subject: [PATCH] update --- src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 65 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java index d1235c5..01c42b7 100644 --- a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java @@ -15,6 +15,8 @@ import com.moral.mapper.SensorMapper; import com.moral.service.DeviceService; import com.moral.service.HistoryHourlyService; +import com.moral.service.SensorService; + import javax.annotation.Resource; @Service @@ -24,6 +26,9 @@ @Resource private DeviceService deviceService; + + @Resource + private SensorService sensorService; @Resource private SensorMapper sensorMapper; @@ -36,12 +41,70 @@ sensorKeys.add(sensor.getSensorKey()); } parameters.put("sensorKeys", sensorKeys); - return historyHourlyMapper.getPollutionSourceData(parameters); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceData(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; + } + + @Override + public Map<String, Object> getPollutionSourceDataByHour(Map<String, Object> parameters) throws Exception { + List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters); + List<String> sensorKeys = new ArrayList<>(); + for (Sensor sensor : sensors) { + sensorKeys.add(sensor.getSensorKey()); + } + parameters.put("sensorKeys", sensorKeys); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceDataByHour(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; + } + + @Override + public Map<String, Object> getPollutionSourceDataAll(Map<String, Object> parameters) throws Exception { + List<Sensor> sensors = sensorMapper.getSensorsByMac(parameters); + List<String> sensorKeys = new ArrayList<>(); + for (Sensor sensor : sensors) { + sensorKeys.add(sensor.getSensorKey()); + } + parameters.put("sensorKeys", sensorKeys); + Map<String, Object> pollutionSourceData = historyHourlyMapper.getPollutionSourceDataAll(parameters); + if (MapUtils.isNotEmpty(pollutionSourceData)) { + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + String selectSensorKey = parameters.get("sensorKey").toString(); + for (Map.Entry<String, String> s : sensorsMap.entrySet()) { + if (selectSensorKey.equals(s.getKey())) { + selectSensorKey = s.getValue(); + } + } + pollutionSourceData.put("selectSensorKey", selectSensorKey); + } + return pollutionSourceData; } @Override public Point getDirPoint(Map<String, Object> parameters) throws Exception { - Map<String, Object> pollutionSourceData = getPollutionSourceData(parameters); + Map<String, Object> pollutionSourceData = getPollutionSourceDataByHour(parameters); + if (MapUtils.isEmpty(pollutionSourceData)) { + pollutionSourceData = getPollutionSourceDataAll(parameters); + } String mac = parameters.get("mac").toString(); Device device = deviceService.getDeviceByMac(mac, false); Point pointEnd = new Point(); -- Gitblit v1.8.0