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&&regionAqi!=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