From a13506f193f38720ae2729f9c2ceb35bf9fdb898 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Mon, 28 Sep 2020 11:50:05 +0800
Subject: [PATCH] 更新获取风向和设备信息,添加经纬度,修改rabbit MQ代码。
---
src/main/resources/mapper/DeviceMapper.xml | 2 +-
src/main/java/com/moral/webSocketServer/BSWebsocketServer.java | 26 +++++++++++++++++++-------
src/main/java/com/moral/config/WebSocketConfig.java | 4 ++--
3 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/moral/config/WebSocketConfig.java b/src/main/java/com/moral/config/WebSocketConfig.java
index 0f071cb..565181b 100644
--- a/src/main/java/com/moral/config/WebSocketConfig.java
+++ b/src/main/java/com/moral/config/WebSocketConfig.java
@@ -17,10 +17,10 @@
public class WebSocketConfig {
//���������������������������������
- /* @Bean
+ @Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
- }*/
+ }
@Bean
public MessageConverter jsonMessageConverter() {
diff --git a/src/main/java/com/moral/webSocketServer/BSWebsocketServer.java b/src/main/java/com/moral/webSocketServer/BSWebsocketServer.java
index acd222b..ce40a43 100644
--- a/src/main/java/com/moral/webSocketServer/BSWebsocketServer.java
+++ b/src/main/java/com/moral/webSocketServer/BSWebsocketServer.java
@@ -46,7 +46,6 @@
private String regionCode;
-
private final String exchange = "screens_data";
private static Map<String, Sensor> sensors;
@@ -68,8 +67,8 @@
public void onOpen(Session session, @PathParam("param") String param) {
this.session = session;
String[] params = param.split("&");
- this.orgId = params[1];
this.accountId = params[0];
+ this.orgId = params[1];
this.regionCode = params[2];
if (webSocketMap.containsKey(accountId)) {
@@ -99,13 +98,18 @@
}
//������������,���������������������
+ channel.basicQos(1);//���������������������������
channel.basicConsume(queue, false, new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
Map message = (Map) JSON.parse((String) JSON.parse(new String(body)));
- message = messageFormat(message);
+ message = messageFormat(message,deviceList);
sendMessage(JSON.toJSONString(message));
channel.basicAck(envelope.getDeliveryTag(), false);
+ //������socket������������������
+ if (!webSocketMap.containsKey(accountId)) {
+ RabbitMQUtils.closeConnectionChannel(connection,channel);
+ }
}
});
} catch (IOException e) {
@@ -142,17 +146,25 @@
}
}
- //���MQ������������������������������������
- private Map<String,Object> messageFormat( Map<String,Object> param) {
+ //���MQ���������������������������������������������������������������
+ private Map<String,Object> messageFormat( Map<String,Object> param,List<Device> deviceList) {
Map<String, Object> map = new HashMap<>();
- param.forEach((key, value) -> { ;
+ param.forEach((key, value) -> {
Sensor sensor = sensors.get(key);
if (!ObjectUtils.isEmpty(sensor)) {
String unit = ObjectUtils.isEmpty(sensor.getUnit())?"":(String)sensor.getUnit();
map.put(sensor.getName(),value+unit);
}
});
- map.put("mac",param.get("mac"));
+ String mac = (String) param.get("mac");
+ for (Device device : deviceList) {
+ if(mac.equals(device.getMac())){
+ map.put("������",device.getLatitude());
+ map.put("������",device.getLongitude());
+ break;
+ }
+ }
+ map.put("mac",mac);
return map;
}
diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml
index d0700b9..092f8ce 100644
--- a/src/main/resources/mapper/DeviceMapper.xml
+++ b/src/main/resources/mapper/DeviceMapper.xml
@@ -484,7 +484,7 @@
</select>
<select id="selectDevicesAll" parameterType="java.util.Map" resultType="com.moral.entity.Device">
- SELECT dev.id,dev.mac,dev.device_version_id deviceVersionId from device dev
+ SELECT dev.id,dev.mac,dev.longitude,dev.latitude,dev.device_version_id deviceVersionId from device dev
left join monitor_point mpt on dev.monitor_point_id = mpt.id
<where>
<if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
--
Gitblit v1.8.0