From 73919e36e6c84a665a2c4352fa3b22d1b2e9e6bb Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 18 六月 2024 13:08:19 +0800
Subject: [PATCH] 2024年06月18日13:08:14

---
 app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java                     |    8 +-
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java                 |    4 +
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |    3 
 app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java                  |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java               |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java  |    8 ++
 app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java                   |    7 +
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                      |   67 ++++++++++++++++-----
 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java                   |   28 +++++++++
 9 files changed, 100 insertions(+), 29 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
index 43eaf78..5eb78b2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -22,6 +22,8 @@
     public static final String message_count = "message_count";
     public static final String homepage_title_tab_switch = "homepage_title_tab_switch";
 
+    public static final String home_del= "home_del";
+
     //缃戠粶鐘舵�佸彂鐢熷彉鍖�
     public static final String network_change_post = "network_change";
     //鐢电珯鐘舵��
diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
index 2d4f74b..3e2b86a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
+++ b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java
@@ -1,8 +1,8 @@
 package com.hdl.photovoltaic.enums;
 
 public enum LowerTagType {
-    home,
-    power_station,
-    message,
-    me
+    home,//棣栭〉
+    power_station,//鐢电珯
+    message,//娑堟伅
+    me//鎴戠殑
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
index 72ebfb8..89cc4b0 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -43,6 +43,9 @@
     private static volatile HdlCommonLogic sHdlCommonLogic;
 
 
+    /**
+     * 妯″潡绫诲瀷锛堥椤碉紝鐢电珯锛屾秷鎭紝鎴戠殑锛�
+     */
     public static LowerTagType lowerTagType = LowerTagType.home;
 
 
@@ -280,7 +283,7 @@
         BaseEventBus baseEventBus = new BaseEventBus();
         baseEventBus.setTopic(topic);
         baseEventBus.setType(type);
-        EventBus.getDefault().postSticky(baseEventBus);
+        EventBus.getDefault().post(baseEventBus);
     }
 
     /**
@@ -294,7 +297,7 @@
         baseEventBus.setTopic(topic);
         baseEventBus.setType(type);
         baseEventBus.setData(o);
-        EventBus.getDefault().postSticky(baseEventBus);
+        EventBus.getDefault().post(baseEventBus);
     }
 
 }
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 bb731c8..fb7681f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -137,7 +137,7 @@
      * @param homeId 鐢电珯id
      * @param mac    閫嗗彉鍣╩ac
      */
-    public void removeLocalCacheMemoryGateway(String homeId, String mac) {
+    public void removeLocalCacheMemoryGatewayToMac(String homeId, String mac) {
         if (TextUtils.isEmpty(mac)) {
             return;
         }
@@ -157,6 +157,32 @@
             list.remove(index);
         }
     }
+    /**
+     * 绉婚櫎缂撳瓨鍒楄〃閲岄潰閫嗗彉鍣�
+     *
+     * @param homeId 鐢电珯id
+     * @param deviceId    閫嗗彉鍣╠eviceId
+     */
+    public void removeLocalCacheMemoryGatewayToDeviceId(String homeId, String deviceId) {
+        if (TextUtils.isEmpty(deviceId)) {
+            return;
+        }
+        List<GatewayBean> list = getCurrentHomeGatewayList(homeId);
+        if (list == null || list.size() == 0) {
+            return;
+        }
+        int index = -1;
+        for (int i = 0; i < list.size(); i++) {
+            GatewayBean gatewayBean = list.get(i);
+            if (gatewayBean.getDeviceId().equals(deviceId)) {
+                index = i;
+                break;
+            }
+        }
+        if (index > 0) {
+            list.remove(index);
+        }
+    }
 
     /**
      * 娣诲姞銆愯澶囧垪琛ㄣ�戝埌鏈湴缂撳瓨
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index ae214d1..90eee00 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -33,7 +33,9 @@
 import com.hdl.photovoltaic.bean.ModBusBean;
 import com.hdl.photovoltaic.bean.PageNumberObject;
 import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.LowerTagType;
 import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
 import com.hdl.photovoltaic.internet.TcpClient;
 import com.hdl.photovoltaic.internet.api.HttpApi;
@@ -168,11 +170,10 @@
                     //鍒涘缓鐢电珯
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
                         //EventBus浜嬩欢鍒嗗彂
-                        BaseEventBus baseEventBus = new BaseEventBus();
-                        baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL);
-                        baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION);
-                        baseEventBus.setData(getKeyValue("data", data));
-                        EventBus.getDefault().post(baseEventBus);
+                        HdlCommonLogic.getInstance().postEventBus(
+                                HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL,
+                                HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION,
+                                getKeyValue("data", data));
                     }
                     break;
                     //璇诲彇璇︽儏
@@ -180,23 +181,28 @@
 
                     }
                     break;
+                    //鐢电珯鍒犻櫎
+                    case HDLUniMP.UNI_EVENT_REPLY_HOME_DEl: {
+                        this.uniGetDelResidence(mode_type, data, callback);
+                    }
+                    break;
                     //鍏抽棴璇︽儏椤�
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE: {
                         //EventBus浜嬩欢鍒嗗彂
-                        BaseEventBus baseEventBus = new BaseEventBus();
-                        baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
-                        baseEventBus.setData(getKeyValue("data", data));
-                        EventBus.getDefault().post(baseEventBus);
+                        // todo 鍦℉DLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀劧鍚庡彂甯冭皟鐢‥ventBus鍙戝竷鍑哄幓;
+//                        HdlCommonLogic.getInstance().postEventBus(
+//                                HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE,
+//                                LowerTagType.power_station.toString(),
+//                                getKeyValue("data", data));
                     }
                     break;
                     //浣忓畢銆愮數绔欍�戠紪杈�
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT: {
                         //EventBus浜嬩欢鍒嗗彂
-                        BaseEventBus baseEventBus = new BaseEventBus();
-                        baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL);
-                        baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT);
-                        baseEventBus.setData(getKeyValue("data", data));
-                        EventBus.getDefault().post(baseEventBus);
+                        HdlCommonLogic.getInstance().postEventBus(
+                                HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL,
+                                HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT,
+                                getKeyValue("data", data));
                     }
                     break;
                     //鐢电珯鐨勪氦浠樹簩缁寸爜(瀹夎鍟�)
@@ -643,6 +649,34 @@
     //endregion
 
     //region ******uni鎺ュ彛鏂规硶******
+
+    /**
+     * 鐢电珯鍒犻櫎
+     */
+    private void uniGetDelResidence(String type, Object data, DCUniMPJSCallback callback) {
+        String homeId = getKeyValue("homeId", getKeyValue("data", data));
+        HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() {
+            @Override
+            public void onSuccess(Boolean obj) {
+                List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId);
+                for (int i = 0; i < list.size(); i++) {
+                    GatewayBean gatewayBean = list.get(i);
+                    HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), null);
+                }
+                list.clear();//娓呯┖缂撳瓨;
+//              HDLLinkLocalGateway.getInstance().getGatewayList().clear();
+                HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨
+                //uni鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱
+                uniSuccessCallback(type, obj, callback);
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                uniExceptionCallback(type, e, callback);
+            }
+        });
+    }
 
     /**
      * 鐢电珯鎺堟潈瀹夎鍟�(C绔�)
@@ -1915,12 +1949,11 @@
     private void uniDelInverterDevice(String type, Object data, DCUniMPJSCallback callback) {
         String deviceId = getKeyValue("deviceId", getKeyValue("data", data));
         String homeId = getKeyValue("homeId", getKeyValue("data", data));
-        if (TextUtils.isEmpty(homeId)) {
-            homeId = UserConfigManage.getInstance().getHomeId();
-        }
         HdlDeviceLogic.getInstance().delInverterDevice(homeId, deviceId, new CloudCallBeak<Boolean>() {
             @Override
             public void onSuccess(Boolean obj) {
+                //绉婚櫎鏈湴缂撳瓨
+                HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToDeviceId(homeId, deviceId);
                 uniSuccessCallback(type, null, callback);
             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
index e505902..00244ba 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -629,9 +629,8 @@
 //                    }
 //                }
 
-
             }
-        } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) {
+        } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getTopic())) {
             // 鍙栨秷绮樻�т簨浠�
             EventBus.getDefault().removeStickyEvent(eventBus);
             //鏄湪鐢电珯鍒楄〃椤垫墠杩涙潵杩欓噷
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
index 10c0cd2..d649953 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java
@@ -14,11 +14,13 @@
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityHouseListEditBinding;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.listener.LinkCallBack;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
+import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
@@ -30,6 +32,8 @@
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
 
 import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -136,7 +140,7 @@
                 }
             });
 
-            //鐢电珯绉诲姩浣嶇疆鎸夐挳
+            //鐢电珯鍒犻櫎浣嶇疆鎸夐挳
             houseListAdapter.setDelOnclickListener(new HouseListAdapter.OnDelClickListener() {
                 @Override
                 public void onDelClick(int position, HouseIdBean houseIdBean) {
@@ -206,6 +210,7 @@
         houseListAdapter.setList(this.houseListBeanIDList);
         this.nullDataUpdateUi(houseListBeanIDList);
     }
+
 
     /**
      * 鍒犻櫎鐢电珯,閫嗗彉鍣�
@@ -327,6 +332,7 @@
         }
     }
 
+
     /**
      * 娌℃湁鐢电珯鍒楄〃鐨勬牱寮�
      */
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
index ff0771b..8ea0293 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -296,7 +296,7 @@
                             public void onSuccess(Boolean obj) {
                                 hideLoading();
                                 gsonConvertJsonStr(obj);
-                                HdlDeviceLogic.getInstance().removeLocalCacheMemoryGateway(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDevice_mac());
+                                HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToMac(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDevice_mac());
                                 HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), mGatewayBean.getDeviceId(), null);
                             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
index 626e270..b638066 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMPSDKManager.java
@@ -11,6 +11,7 @@
 import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.enums.LowerTagType;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -119,7 +120,8 @@
 
                 //灏忕▼搴忚鍏抽棴浜嗛�氱煡缁欏師鐢�
                 BaseEventBus baseEventBus = new BaseEventBus();
-                baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+                baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE);
+                baseEventBus.setType(LowerTagType.power_station.toString());
                 EventBus.getDefault().post(baseEventBus);
 
             }

--
Gitblit v1.8.0