From 9cb298004c7ca4c75ad5faf0234531aa21c99c5c Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 05 Jul 2021 14:23:41 +0800
Subject: [PATCH] screen-manage                     实时数据界面单位转换以及code转换

---
 screen-api/src/main/java/com/moral/api/kafka/consumer/SecondDataConsumer.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 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 b6d2030..f804783 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,8 @@
 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.websocket.SingleDeviceServer;
 import org.apache.kafka.clients.consumer.Consumer;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
@@ -9,6 +11,8 @@
 import org.springframework.kafka.listener.ConsumerSeekAware;
 import org.springframework.stereotype.Component;
 
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CopyOnWriteArraySet;
 
@@ -30,9 +34,26 @@
         CopyOnWriteArraySet<SingleDeviceServer> sockets = SingleDeviceServer.sockets;
         for (SingleDeviceServer socket : sockets) {
             //���������������������������socket
-            socket.sendMessage(message.toString());
+            //������������������
+            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 showUnit = sensor.getShowUnit();
+                //������������
+                //������������
+                String value = message.get(code);
+                value+=showUnit;
+                resultMessgae.put(sensor.getName(),value);
+            }
+            resultMessgae.put("DataTime",message.get("DataTime"));
+            socket.sendMessage(JSON.toJSONString(resultMessgae));
         }
-       // System.out.println(message);
     }
 
     @Override

--
Gitblit v1.8.0