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