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 | 27 ++++++++++++++++++++++++---
1 files changed, 24 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 54fab17..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;
@@ -26,13 +30,30 @@
public void listen(ConsumerRecord<String, String> record , Consumer consumer) throws Exception {
String messageStr = record.value();
Map<String,String> message = (Map<String,String>)JSON.parse(messageStr);
- System.out.println(message);
+ //System.out.println(message);
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