From 49db2ff387b7cc6385d51cefb80a8604600408f0 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 21 三月 2024 16:55:06 +0800 Subject: [PATCH] 2024年03月21日16:54:46 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 48 +++++++++++++++++++++++++++--------------------- 1 files changed, 27 insertions(+), 21 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 5684386..1c00f40 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -628,12 +628,10 @@ */ public void initializeGateway(String mac, LinkCallBack<Boolean> linkCallBack) { String requestUrl = TopicApi.GATEWAY_INITIALIZE_REMOTE; - JsonObject sendJsonObj = new JsonObject(); JsonObject jObject = new JsonObject(); jObject.addProperty("device_mac", mac); jObject.addProperty("reset_factory", "true");//涓篺alse鎴栨棤姝ゅ瓧娈碉紝鍒欎负"娓呴櫎鏁版嵁" - sendJsonObj.add("objects", jObject); - TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, sendJsonObj, "", new HDLLinkCallBack() { + TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, jObject, "", new HDLLinkCallBack() { @Override public void onSuccess(String json) { if (linkCallBack != null) { @@ -765,15 +763,11 @@ if (atomicInteger.get() == list.size()) { //鏀堕泦鍒犻櫎閫嗗彉鍣╯id List<String> removeSidList = new ArrayList<>(); - for (int i = 0; i < list.size(); i++) { - CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i); - for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) { - GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j); - if (!cloudInverterDeviceBean.getSid().equals(gatewayBean.getSid())) { - //鏈湴鏈夛紝浜戠娌℃湁,鍒犻櫎鏈湴锛� - removeSidList.add(gatewayBean.getSid()); - } - + for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) { + GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j); + if (!querySidInverter(list, gatewayBean.getSid())) { + //鏈湴鏈夛紝浜戠娌℃湁,鍒犻櫎鏈湴锛� + removeSidList.add(gatewayBean.getSid()); } } for (int i = 0; i < removeSidList.size(); i++) { @@ -793,15 +787,11 @@ if (atomicInteger.get() == list.size()) { //鏀堕泦鍒犻櫎閫嗗彉鍣╯id List<String> removeSidList = new ArrayList<>(); - for (int i = 0; i < list.size(); i++) { - CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i); - for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) { - GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j); - if (!cloudInverterDeviceBean.getSid().equals(gatewayBean.getSid())) { - //鏈湴鏈夛紝浜戠娌℃湁,鍒犻櫎鏈湴锛� - removeSidList.add(gatewayBean.getSid()); - } - + for (int j = 0; j < HDLLinkLocalGateway.getInstance().getGatewayList().size(); j++) { + GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayList().get(j); + if (!querySidInverter(list, gatewayBean.getSid())) { + //鏈湴鏈夛紝浜戠娌℃湁,鍒犻櫎鏈湴锛� + removeSidList.add(gatewayBean.getSid()); } } for (int i = 0; i < removeSidList.size(); i++) { @@ -897,6 +887,22 @@ } /** + * 閫氳繃sid鏌ヨ閫嗗彉鍣� + * + * @param list 浜戠涓婇�嗗彉鍣ㄥ垪琛� + * @return 瀛樺湪涓簍rue, 鍚﹀垯涓篺alse + */ + private boolean querySidInverter(List<CloudInverterDeviceBean> list, String sid) { + for (int i = 0; i < list.size(); i++) { + CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i); + if (sid.equals(cloudInverterDeviceBean.getSid())) { + return true; + } + } + return false; + } + + /** * 鑾峰彇璁惧杩滅▼閫氳淇℃伅 * * @param homeId 浣忓畢Id -- Gitblit v1.8.0