瀏覽代碼

推送值修改

menglu 3 年之前
父節點
當前提交
0edf93d0b5

+ 14 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/websocket/server/WebSocketChannelInfo.java

@@ -0,0 +1,14 @@
+package com.persagy.ibms.data.sdk.service.websocket.server;
+
+import java.net.SocketAddress;
+import java.util.Date;
+
+public class WebSocketChannelInfo {
+	public SocketAddress remoteAddress;
+	public Date connectTime;
+
+	public WebSocketChannelInfo(SocketAddress remoteAddress, Date connectTime) {
+		this.remoteAddress = remoteAddress;
+		this.connectTime = connectTime;
+	}
+}

+ 22 - 2
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/websocket/server/WebSocketUtil.java

@@ -195,6 +195,16 @@ public class WebSocketUtil {
 									String meter = splits[i + 1];
 									String funcid = splits[i + 2];
 									String value = splits[i + 3];
+									Object valueObj = null;
+									try {
+										valueObj = Long.parseLong(value);
+									} catch (Exception e) {
+										try {
+											valueObj = Double.parseDouble(value);
+										} catch (Exception exp) {
+											valueObj = value;
+										}
+									}
 									String point = meter + "-" + funcid;
 									if (!Repository.point2ObjectInfoList.containsKey(point)) {
 										continue;
@@ -207,7 +217,7 @@ public class WebSocketUtil {
 												sendObj.put(ObjectInfo.objId, new JSONObject());
 											}
 											JSONObject sendItem = sendObj.get(ObjectInfo.objId);
-											sendItem.put(ObjectInfo.infoCode, value);
+											sendItem.put(ObjectInfo.infoCode, valueObj);
 										}
 									}
 								}
@@ -240,6 +250,16 @@ public class WebSocketUtil {
 									String meter = splits[i + 1];
 									String funcid = splits[i + 2];
 									String value = splits[i + 3];
+									Object valueObj = null;
+									try {
+										valueObj = Long.parseLong(value);
+									} catch (Exception e) {
+										try {
+											valueObj = Double.parseDouble(value);
+										} catch (Exception exp) {
+											valueObj = value;
+										}
+									}
 									String point = meter + "-" + funcid;
 									if (!Repository.set2ObjectInfoList.containsKey(point)) {
 										continue;
@@ -252,7 +272,7 @@ public class WebSocketUtil {
 												sendObj.put(ObjectInfo.objId, new JSONObject());
 											}
 											JSONObject sendItem = sendObj.get(ObjectInfo.objId);
-											sendItem.put(ObjectInfo.infoCode, value);
+											sendItem.put(ObjectInfo.infoCode, valueObj);
 										}
 									}
 								}