From a543c926d2c994c96acd1923cecc5253d5cf45f2 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期日, 08 十月 2023 11:40:31 +0800 Subject: [PATCH] 2023年10月08日11:40:28 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 66 +++++++++++++++++++++++++++----- 1 files changed, 55 insertions(+), 11 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 820d6b8..89a07ba 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -38,7 +38,6 @@ import java.util.ArrayList; import java.util.List; -import io.reactivex.rxjava3.disposables.Disposable; /** * 璁惧閫昏緫 @@ -110,6 +109,31 @@ public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); + //涓存椂鐨勯�昏緫锛屼笂浼爋id鍒楄〃鍒颁簯绔� + getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() { + @Override + public void onSuccess(List<OidBean> obj) { + if (obj == null) { + return; + } + fullUpdateOid(obj, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + + @Override + public void onError(HDLLinkException e) { + + } + }); } } @@ -237,7 +261,7 @@ * @param cloudCallBeak 鍥炶皟update */ public void fullUpdateOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { - String requestUrl = HttpApi.POST_Device_ChildDevices_List; + String requestUrl = HttpApi.POST_Device_Oid; JsonObject json = new JsonObject(); json.addProperty("operationSource", "PROGRAM_ENERGY");// json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); @@ -518,6 +542,12 @@ removeInverter(removeSidList.get(i)); } + for (int i = 0; i < list.size(); i++) { + CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i); + GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(cloudInverterDeviceBean.getSid()); + objectAssignment(cloudInverterDeviceBean, gatewayBean); + } + if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } @@ -549,15 +579,8 @@ CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i); //浜戠瀵硅薄鏁版嵁浜ゆ崲鍒版湰鍦板璞� GatewayBean gatewayBean = new GatewayBean(); - gatewayBean.setOid(cloudInverterDeviceBean.getOid()); - gatewayBean.setSid(cloudInverterDeviceBean.getSid()); - gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId()); - gatewayBean.setOnline(cloudInverterDeviceBean.isOnline()); - gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//璁惧mac - gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName()); - gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId()); - gatewayBean.setLocalEncrypt(true); - gatewayBean.setMaster("true"); + objectAssignment(cloudInverterDeviceBean, gatewayBean); + //娣诲姞缃戝叧 HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean); } @@ -602,6 +625,27 @@ HDLLinkLocalGateway.getInstance().refreshGatewayByHomeIdAndSpk(UserConfigManage.getInstance().getHomeId(), spks, true, gatewayCallBack); } + + private void objectAssignment(CloudInverterDeviceBean cloudInverterDeviceBean, GatewayBean gatewayBean) { + if (cloudInverterDeviceBean == null || gatewayBean == null) { + return; + } + gatewayBean.setOid(cloudInverterDeviceBean.getOid()); + gatewayBean.setSid(cloudInverterDeviceBean.getSid()); + gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId()); + gatewayBean.setOnline(cloudInverterDeviceBean.isOnline()); + gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//璁惧mac + gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName()); + gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId()); + gatewayBean.setLocalEncrypt(true); + gatewayBean.setMaster("true"); + gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc()); + gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion()); + gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName()); + gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId()); + + } + /** * 鑾峰彇缃戝叧spk鍒楄〃 * -- Gitblit v1.8.0