From c1e8d3a7709295a52814378e73a68e1e1fd20da6 Mon Sep 17 00:00:00 2001
From: 562935844@qq.com
Date: 星期三, 18 十月 2023 16:47:40 +0800
Subject: [PATCH] 上报oid列表新增parentoid
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 125 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 119 insertions(+), 6 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 c2a71fb..1ea5d10 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
@@ -1,5 +1,7 @@
package com.hdl.sdk.connect.socket;
+import static com.hdl.sdk.connect.config.HDLLinkConfig.AUTHENTICATE_IS_DEVICEINFO_KEY;
+
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
@@ -27,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;
@@ -130,6 +133,10 @@
if (!TextUtils.isEmpty(data)) {
DeviceInfoResponse response = GsonConvert.getGson().fromJson(data, new TypeToken<DeviceInfoResponse>() {
}.getType());
+
+ if ((response == null) || (response.getObjects() == null) || (response.getObjects().getIPAddress() == null))
+ return;
+
HDLLinkConfig.getInstance().setIpAddress(response.getObjects().getIPAddress());
LogUtils.i("---getIpAddress=" + HDLLinkConfig.getInstance().getIpAddress());
@@ -655,12 +662,63 @@
data.setId(IdUtils.getUUId());
data.setTime_stamp(time);
+ //2023.10.18淇敼锛屼笂鎶id鍒楄〃澧炲姞parentOid
+ if (request!=null && !TextUtils.isEmpty(HDLLinkConfig.getInstance().getParentOid())) {
+ request.setParentOid(HDLLinkConfig.getInstance().getParentOid());
+ }
+
List<ListUploadRequest> list = new ArrayList<>();
list.add(request);
data.setObjects(list);
String topic = String.format(TopicConstant.LIST_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));
+ }
+ }
+ }
+
+ /**
+ * 涓婃姤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));
@@ -896,14 +954,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));
}
@@ -942,7 +999,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() {
@@ -951,8 +1012,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));
}
}
});
@@ -1011,7 +1072,7 @@
threadPool.scheduleWithFixedDelay(new Runnable() {
@Override
public void run() {
- if (sendCount.get() < 3) {
+ if (sendCount.get() < 0) {
sendCount.set(sendCount.get() + 1);
getTcp().sendMsg(data);
} else {
@@ -1061,4 +1122,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