From 68c1826255df230fcbd2bd72ea0945415cbb8e17 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 10 七月 2024 11:14:02 +0800
Subject: [PATCH] 2024年07月09日15:12:10

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java |   36 +++++++++++++++++-------------------
 1 files changed, 17 insertions(+), 19 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 fb7681f..d085b50 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -157,11 +157,12 @@
             list.remove(index);
         }
     }
+
     /**
      * 绉婚櫎缂撳瓨鍒楄〃閲岄潰閫嗗彉鍣�
      *
-     * @param homeId 鐢电珯id
-     * @param deviceId    閫嗗彉鍣╠eviceId
+     * @param homeId   鐢电珯id
+     * @param deviceId 閫嗗彉鍣╠eviceId
      */
     public void removeLocalCacheMemoryGatewayToDeviceId(String homeId, String deviceId) {
         if (TextUtils.isEmpty(deviceId)) {
@@ -493,22 +494,7 @@
 
             @Override
             public void onFailure(HDLException e) {
-                //娣诲姞閫嗗彉鍣ㄥけ璐ュ悗鍒濆鍖栭�嗗彉鍣�
-                HdlLogLogic.print("娣诲姞閫嗗彉鍣ㄥけ璐ュ悗寮�濮嬪垵濮嬪寲閫嗗彉鍣�-->", true);
-                for (int i = 0; i < list.size(); i++) {
-                    GatewayBean gatewayBean = list.get(i);
-                    HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
-                        @Override
-                        public void onSuccess(Boolean obj) {
-                            HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄦ垚鍔�-->mac:" + gatewayBean.getDevice_mac(), true);
-                        }
 
-                        @Override
-                        public void onError(HDLLinkException e) {
-                            HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄥけ璐�-->mac:" + gatewayBean.getDevice_mac(), true);
-                        }
-                    });
-                }
                 if (cloudCallBeak != null) {
                     cloudCallBeak.onFailure(e);
                 }
@@ -1055,7 +1041,7 @@
 
     /**
      * 鑾峰彇閫嗗彉鍣ㄥ垪琛�(鏁村悎浜戠鍜屾湰鍦板垪琛�)
-     * 娉ㄦ剰:鏈夊缃戯紝浠ヤ簯绔澶囦负鍑�,鏈湴瀛樺湪锛屼簯绔病鏈夊垯鍒犻櫎锛涘唴缃戯紝浠ユ湰鍦颁负涓�,鎼滅储澶氬皯涓澶囧氨鏄剧ず澶氬皯涓紱
+     * 娉ㄦ剰:鏈夊缃戯紝浠ヤ簯绔澶囦负鍑�,鏈湴瀛樺湪锛屼簯绔病鏈夊垯鍒犻櫎锛涘惁鍒欙紝娌℃湁澶栫綉鍙湁灞�鍩熺綉锛屼互鏈湴涓轰富,鎼滅储澶氬皯涓澶囧氨鏄剧ず澶氬皯涓�
      *
      * @param homeId        浣忓畢id
      * @param cloudCallBeak 杩斿洖閫嗗彉鍣ㄥ垪琛�
@@ -1068,7 +1054,19 @@
                 HdlDeviceLogic.getInstance().getCloudInverterDeviceList(homeId, new CloudCallBeak<List<CloudInverterDeviceBean>>() {
                     @Override
                     public void onSuccess(List<CloudInverterDeviceBean> list) {
-                        ///鎯呭喌1:鏈夊眬鍩熺綉锛屾湁澶栫綉锛�
+                        List<String> removeSidList = new ArrayList<>();
+                        for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) {
+                            GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j);
+                            if (!querySidInverter(list, gatewayBean.getSid())) {
+                                //鏈湴鏈夛紝浜戠娌℃湁,鍒犻櫎鏈湴锛�
+                                removeSidList.add(gatewayBean.getSid());
+                            }
+                        }
+                        for (int i = 0; i < removeSidList.size(); i++) {
+                            //鍒犻櫎鏈湴鐨勯�嗗彉鍣�
+                            removeLocalInverter(removeSidList.get(i));
+                        }
+                        //鎯呭喌1:鏈夊眬鍩熺綉锛屾湁澶栫綉锛�
                         setDeviceRemoteInfo(list, homeId, cloudCallBeak);
                     }
 

--
Gitblit v1.8.0