From 6521c8e329665cc97f0714a9a094d2d823e23980 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期二, 19 九月 2023 13:52:41 +0800
Subject: [PATCH] 修复退网清除缓存异常
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 107 insertions(+), 5 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
index 977fa55..7331819 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java
@@ -29,6 +29,7 @@
import com.hdl.sdk.connect.bean.request.GatewayInfoRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest;
import com.hdl.sdk.connect.bean.request.ListOidRequest2;
+import com.hdl.sdk.connect.bean.request.ListSidRequest;
import com.hdl.sdk.connect.bean.request.ListUploadRequest;
import com.hdl.sdk.connect.bean.response.AuthenticateResponse;
import com.hdl.sdk.connect.bean.response.BaseLocalCodeResponse;
@@ -698,6 +699,52 @@
}
/**
+ * 涓婃姤Sid鍒楄〃
+ *
+ * @param requestList sid鍒楄〃
+ * @param callBack 鍥炶皟
+ */
+ public void UploadSidList(List<ListSidRequest> requestList, HDLLinkCallBack callBack) {
+ if (!TextUtils.isEmpty(getGatewayId()) && !TextUtils.isEmpty(getTcpIp())) {
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalResponse<List<ListSidRequest>> data = new BaseLocalResponse<>();
+ data.setId(IdUtils.getUUId());
+ data.setTime_stamp(time);
+
+ data.setObjects(requestList);
+
+ String topic = String.format(TopicConstant.LIST_SID_UPLOAD, getGatewayId());
+ LinkRequest message = new LinkRequest(topic,
+ GsonConvert.getGson().toJson(data));
+
+ String replyTopic = topic + "_reply";
+ try {
+ sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
+ @Override
+ public void onSucceed() {
+
+ }
+
+ @Override
+ public void onError() {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ });
+ } catch (Exception e) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ } else {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ }
+
+ /**
* 涓婃姤鍏ョ綉璁よ瘉缁撴灉
*
* @param mac mac
@@ -902,14 +949,13 @@
// String replyTopic = topic + "_reply";
try {
- sendMsg(message.getSendBytes(), topic, callBack, new SendListener() {
+ sendMsg(message.getSendBytes(), topic, null, new SendListener() {
@Override
public void onSucceed() {
+ HDLLinkConfig.getInstance().clearConfig();
if (callBack == null) return;
try {
callBack.onSuccess("閫�缃戞垚鍔�");
- HDLLinkConfig.getInstance().clearConfig();
-
} catch (Exception e) {
callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
}
@@ -948,7 +994,11 @@
public void tcpSendMsg(String topic, String bodyStr, HDLLinkCallBack callBack) {
try {
LinkRequest message = new LinkRequest(topic, bodyStr);
+ if (topic != null && topic.endsWith("_reply")) {
+ callBack = null;
+ }
String replyTopic = topic + "_reply";
+ HDLLinkCallBack finalCallBack = callBack;
sendMsg(message.getSendBytes(), replyTopic, callBack, new SendListener() {
@Override
public void onSucceed() {
@@ -957,8 +1007,8 @@
@Override
public void onError() {
- if (callBack != null) {
- callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ if (finalCallBack != null) {
+ finalCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
}
}
});
@@ -1067,4 +1117,56 @@
}
+ /**
+ * 鍥炲缃戝叧閰嶇疆鍛戒护
+ *
+ * @param mac_Oid_GatewayId
+ * @param msgId 娑堟伅Id
+ * @param callBack
+ */
+ public void gatewayRemoteEditReply(String mac_Oid_GatewayId, String msgId, HDLLinkCallBack callBack) {
+ if (TextUtils.isEmpty(mac_Oid_GatewayId)) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
+ }
+
+ String time = String.valueOf(System.currentTimeMillis());
+ final BaseLocalCodeResponse<List<String>> data = new BaseLocalCodeResponse<>();
+ data.setId(msgId);
+ data.setTime_stamp(time);
+ data.setCode("0");
+
+
+ String topic = String.format(TopicConstant.GATEWAY_EDIT_REMOTE_REPLY, mac_Oid_GatewayId);
+ LinkRequest message = new LinkRequest(topic,
+ GsonConvert.getGson().toJson(data));
+
+
+ try {
+ sendMsg(message.getSendBytes(), topic, callBack, new SendListener() {
+ @Override
+ public void onSucceed() {
+ if (callBack == null) return;
+ try {
+ callBack.onSuccess("閫�缃戞垚鍔�");
+ HDLLinkConfig.getInstance().clearConfig();
+
+ } catch (Exception e) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_ERROR));
+ }
+ }
+
+ @Override
+ public void onError() {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ });
+ } catch (Exception e) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_SEND_ERROR));
+ }
+ }
+ }
+
}
--
Gitblit v1.8.0