From 327267727c36cef76ee554e1ad97099180cd4f13 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Tue, 13 Jul 2021 09:08:37 +0800
Subject: [PATCH] screen-manage                  单位转换信息添加缓存

---
 screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 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 6865acf..49ac907 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
@@ -1,6 +1,9 @@
 package com.moral.api.kafka.consumer;
 
 import com.alibaba.fastjson.JSON;
+import com.moral.api.entity.Device;
+import com.moral.api.entity.Sensor;
+import com.moral.api.entity.UnitConversion;
 import com.moral.api.websocket.SingleDeviceServer;
 import org.apache.kafka.clients.consumer.Consumer;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
@@ -8,7 +11,10 @@
 import org.springframework.kafka.annotation.KafkaListener;
 import org.springframework.kafka.listener.ConsumerSeekAware;
 import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
 
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CopyOnWriteArraySet;
 
@@ -19,7 +25,7 @@
  * @Date 2021/6/15 14:49
  * @Version TODO
  **/
-//@Component
+@Component
 public class SecondDataConsumer implements ConsumerSeekAware {
 
     @KafkaListener(topics = "second_data",groupId = "SecondsDataGroup3")
@@ -28,9 +34,39 @@
         Map<String,String> message = (Map<String,String>)JSON.parse(messageStr);
         CopyOnWriteArraySet<SingleDeviceServer> sockets = SingleDeviceServer.sockets;
         for (SingleDeviceServer socket : sockets) {
-            socket.sendMessage(message.toString());
+            //���������������������������socket
+            //������������������
+            String mac = socket.getMac();
+            Map<String, Device> devicesInfo = socket.getDevicesInfo();
+            Device device = devicesInfo.get(mac);
+            //������������������������
+            Map<String,String> resultMessgae = new HashMap<>();
+            //������������
+            List<Sensor> sensors = device.getVersion().getSensors();//������������������������������
+            for (Sensor sensor : sensors) {
+                String code = sensor.getCode();
+                String showUnitKey = sensor.getShowUnitKey();
+                String unitKey = sensor.getUnitKey();
+                //������������
+                //������������
+                if(!unitKey.equals(showUnitKey)){
+                    String formula = sensor.getFormula();
+                    if(ObjectUtils.isEmpty(formula)){
+                        List<UnitConversion> unitConversions = socket.getUnitConversions();
+                        System.out.println(unitConversions);
+                    }else{
+
+                    }
+                }
+                //������������
+                String showUnit = sensor.getShowUnit();
+                String value = message.get(code);
+                value+=showUnit;
+                resultMessgae.put(sensor.getCode(),value);
+            }
+            resultMessgae.put("DataTime",message.get("DataTime"));
+            socket.sendMessage(JSON.toJSONString(resultMessgae));
         }
-        System.out.println(message);
     }
 
     @Override
@@ -49,3 +85,4 @@
 
     }
 }
+

--
Gitblit v1.8.0