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