From 89c38fa6f118d56cb163c245905de8f1c0a75a7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 19 三月 2024 18:03:50 +0800
Subject: [PATCH] 2024年03月19日18:03:44

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java |   78 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 73 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index d656e12..1066f02 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -2,6 +2,7 @@
 
 import android.text.TextUtils;
 
+import com.facebook.imagepipeline.image.OriginalEncodedImageInfo;
 import com.google.gson.Gson;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
@@ -21,12 +22,17 @@
 import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
 import com.hdl.photovoltaic.ui.bean.OidBean;
 import com.hdl.sdk.link.HDLLinkLocalSdk;
+import com.hdl.sdk.link.common.config.TopicConstant;
+import com.hdl.sdk.link.common.exception.HDLLinkCode;
 import com.hdl.sdk.link.common.exception.HDLLinkException;
+import com.hdl.sdk.link.common.utils.IdUtils;
+import com.hdl.sdk.link.core.bean.LinkRequest;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
 import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
 import com.hdl.sdk.link.core.callback.GatewayCallBack;
 import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
 import com.hdl.sdk.link.core.config.HDLLinkConfig;
+import com.hdl.sdk.link.core.connect.HDLConnectHelper;
 import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
 import com.hdl.sdk.link.gateway.type.GatewayMasterType;
 
@@ -35,7 +41,6 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
-
 
 
 /**
@@ -60,6 +65,7 @@
         }
         return sHdlDeviceLogic;
     }
+
 
     /**
      * 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�(鍖呮嫭浠庣殑閫嗗彉鍣�)
@@ -108,7 +114,7 @@
                         return;
                     }
                     oidList.addAll(oidBeanList);
-                    if (atomicInteger.get() == oidList.size()) {
+                    if (atomicInteger.get() == list.size()) {
                         //鍏ㄩ儴鑾峰彇鍚庡啀涓婁紶
                         fullUpdateOid(homeId, oidList, new CloudCallBeak<Boolean>() {
                             @Override
@@ -179,7 +185,7 @@
     /**
      * 娣诲姞澶氫釜閫嗗彉鍣ㄥ埌浜戠涓�
      *
-     * @param list           閫嗗彉鍣ㄥ垪琛�
+     * @param list          閫嗗彉鍣ㄥ垪琛�
      * @param cloudCallBeak -
      */
     public void addAllInverterDeviceToCloud(String homeId, List<GatewayBean> list, CloudCallBeak<Boolean> cloudCallBeak) {
@@ -562,7 +568,7 @@
     public void editGatewayParam(String mac, LinkCallBack<Boolean> linkCallBack) {
         String requestUrl = TopicApi.SET_GATEWAY_EDIT;
         JsonObject json = new JsonObject();
-        json.addProperty("master", GatewayMasterType.MasterTrue);
+        json.addProperty("master", GatewayMasterType.MasterFalse);
         TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() {
             @Override
             public void onSuccess(String msg) {
@@ -614,6 +620,67 @@
         });
 
     }
+
+    /**
+     * 鍒濆鍖栭�嗗彉鍣�
+     *
+     * @param mac 缃戝叧mac
+     */
+    public void initializeGateway(String mac, LinkCallBack<Boolean> linkCallBack) {
+        String requestUrl = TopicApi.GATEWAY_INITIALIZE_REMOTE;
+        JsonObject sendJsonObj = new JsonObject();
+        JsonObject jObject = new JsonObject();
+        jObject.addProperty("device_mac", mac);
+        sendJsonObj.add("objects", jObject);
+        TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, sendJsonObj, "", new HDLLinkCallBack() {
+            @Override
+            public void onSuccess(String json) {
+                if (linkCallBack != null) {
+                    linkCallBack.onSuccess(true);
+                }
+            }
+
+            @Override
+            public void onError(HDLLinkException e) {
+                if (linkCallBack != null) {
+                    linkCallBack.onError(e);
+                }
+            }
+        });
+
+    }
+
+
+    /**
+     * 鍒犻櫎oid
+     *
+     * @param mac 缃戝叧mac
+     * @param oid 璁惧oid
+     */
+    public void deleteOid(String mac, String oid, LinkCallBack<Boolean> linkCallBack) {
+        String requestUrl = TopicApi.DELETING_GATEWAY_SLAVE;
+        JsonArray jsonArray = new JsonArray();
+        JsonObject jsonObject = new JsonObject();
+        jsonObject.addProperty("oid", oid);//璁惧oid
+        jsonArray.add(jsonObject);
+        TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, jsonArray, "", new HDLLinkCallBack() {
+            @Override
+            public void onSuccess(String json) {
+                if (linkCallBack != null) {
+                    linkCallBack.onSuccess(true);
+                }
+            }
+
+            @Override
+            public void onError(HDLLinkException e) {
+                if (linkCallBack != null) {
+                    linkCallBack.onError(e);
+                }
+            }
+        });
+
+    }
+
 
     /**
      * 鑾峰彇閫嗗彉鍣╫id鍒楄〃
@@ -931,8 +998,9 @@
      * @param gatewayCallBack -
      */
     public void searchAllNetworkGateway(GatewayCallBack gatewayCallBack) {
+        List<String> spks = this.getGatewaySpk();
         //缃戝叧鎼滅储
-        HDLLinkLocalSdk.getInstance().refreshGateway(gatewayCallBack, this.getGatewaySpk());
+        HDLLinkLocalGateway.getInstance().refreshGatewayBySpk(spks, true, gatewayCallBack);
     }
 
     /**

--
Gitblit v1.8.0