From a59bbb7890e107a681f677765f2600e278c06a0d Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 09 十月 2023 10:16:37 +0800 Subject: [PATCH] 2023年10月09日10:16:35 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 53 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 35 insertions(+), 18 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 39ee3a0..6462ac8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -54,6 +54,9 @@ if (list.size() > 0) { for (int i = 0; i < list.size(); i++) { GatewayBean gatewayBean = list.get(i); + if (TextUtils.isEmpty(gatewayBean.getDevice_mac())) { + continue; + } if (gatewayBean.getMaster().equals("true") && gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) { // if ("0101050217BBC400".equals(gatewayBean.getOid()))//娴嬭瘯鏃惰繃婊ゆ帀鏃犳晥鐨勶紝杩欒鍚庨潰浠g爜瑕佸垹闄� @@ -271,7 +274,7 @@ JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("protocolType", oidBean.getProtocolType()); jsonObject.addProperty("deviceType", oidBean.getDeviceType()); - jsonObject.addProperty("mac", oidBean.getMac()); + jsonObject.addProperty("mac", oidBean.getDevice_mac()); jsonObject.addProperty("oid", oidBean.getOid()); jsonObject.addProperty("device_name", oidBean.getDevice_name()); jsonObject.addProperty("device_model", oidBean.getDevice_model()); @@ -538,8 +541,14 @@ } } for (int i = 0; i < removeSidList.size(); i++) { - //鑾峰彇鏈湴鐨勯�嗗彉鍣� + //鍒犻櫎鏈湴鐨勯�嗗彉鍣� 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) { @@ -561,31 +570,19 @@ HdlDeviceLogic.getInstance().getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() { @Override public void onSuccess(List<CloudInverterDeviceBean> list) { + //娓呮鏈湴缃戝叧鍒楄〃 + HDLLinkLocalGateway.getInstance().getGatewayList().clear(); if (list == null || list.size() == 0) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } return; } - //娓呮鏈湴缃戝叧鍒楄〃 - HDLLinkLocalGateway.getInstance().getGatewayList().clear(); for (int i = 0; i < list.size(); i++) { 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"); - gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc()); - gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion()); - gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName()); - gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId()); + objectAssignment(cloudInverterDeviceBean, gatewayBean); //娣诲姞缃戝叧 HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean); @@ -613,7 +610,6 @@ * @param sid 璁惧sid */ private void removeInverter(String sid) { - //鑾峰彇鏈湴鐨勬绫虫尝 GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(sid); if (gatewayBean != null) { HDLLinkLocalGateway.getInstance().getGatewayList().remove(gatewayBean); @@ -631,6 +627,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