From 5fa4c1db3141099be4ca176cdf2f3ec10f46c141 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Wed, 09 Mar 2022 11:36:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev_ --- screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java | 5 ++++- screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java | 21 ++++++++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java b/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java index 729dcbf..2544cad 100644 --- a/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java +++ b/screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java @@ -4,6 +4,7 @@ import com.moral.api.entity.Device; import com.moral.api.entity.Sensor; import com.moral.api.entity.UnitConversion; +import com.moral.api.utils.AdjustDataUtils; import com.moral.api.utils.UnitConvertUtils; import com.moral.api.websocket.SingleDeviceServer; import lombok.extern.slf4j.Slf4j; @@ -46,6 +47,11 @@ continue; //������������������ Device device = socket.getDeviceAlarmInfo(); + Map<String, Object> adjustFormula = socket.getAdjustFormula(); + Map<String, Object> regionAqi = socket.getRegionAqi(); + //������������ + if(adjustFormula!=null&®ionAqi!=null) + message = AdjustDataUtils.adjust(message,adjustFormula,regionAqi); //������������������������ Map<String, Object> resultMessgae = new HashMap<>(); //������������ @@ -56,24 +62,13 @@ String showUnitKey = sensor.getShowUnitKey(); String unitKey = sensor.getUnitKey(); String unit = sensor.getUnit(); - //��������������������������������������������� Object value = message.get(code); - //������������������������������������������������ - /*if(value==null) ��������� + if(value==null) continue; - Double sourceDataD = Double.valueOf(String.valueOf(value));*/ - //��������������������������������������������� start - Double sourceDataD = null; - if (value != null) { - sourceDataD = Double.valueOf(String.valueOf(value)); - }else{ - sourceDataD = 5.00d; - } - //��������������������������������������������� end + Double sourceDataD = Double.valueOf(String.valueOf(value)); BigDecimal bg = new BigDecimal(sourceDataD); bg = bg.setScale(2, BigDecimal.ROUND_FLOOR); String sourceData = bg.toString(); - //������������ //������������ if (!unitKey.equals(showUnitKey)) {//������������������������������������������������������������ String formula = sensor.getFormula(); diff --git a/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java b/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java index fa6fd33..d8e7cc7 100644 --- a/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java +++ b/screen-api/src/main/java/com/moral/api/websocket/SingleDeviceServer.java @@ -45,19 +45,22 @@ private Map<String, Object> regionAqi; + private Map<String,Object> adjustFormula; + @OnOpen public void onOpen(Session session, @PathParam("mac") String mac) throws Exception { this.session = session; this.mac = mac; this.deviceAlarmInfo = (Device) redisTemplate.opsForHash().get(RedisConstants.DEVICE_INFO, mac); this.unitConversions = redisTemplate.opsForList().range(RedisConstants.UNIT_CONVERSION, 0, -1); + this.adjustFormula = redisTemplate.opsForHash().entries("adjust_"+mac); //���������������������������AQI������������������ Map<String, Object> deviceInfo = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, mac); Map<String, Object> monitorPointMap = (Map<String, Object>) deviceInfo.get("monitorPoint"); String areaCode = String.valueOf(monitorPointMap.get("areaCode")); String cityCode = String.valueOf(monitorPointMap.get("cityCode")); try { - this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, areaCode); + this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.CITY_AQI, areaCode); if (ObjectUtils.isEmpty(this.regionAqi)) this.regionAqi = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.AQI_DATA, cityCode); } catch (Exception e) { -- Gitblit v1.8.0