From 413b905fb1af7f421b801a3d7ad0b84b57e919ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 15 四月 2025 08:54:11 +0800
Subject: [PATCH] 2025年04月15日08:54:09
---
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 58 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 34 insertions(+), 24 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 26c788d..bdaec7d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -40,6 +40,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
@@ -326,6 +327,7 @@
@Override
public void onError(HDLLinkException e) {
+ HdlLogLogic.print("鑾峰彇oid鍒楄〃澶辫触---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
}
});
SystemClock.sleep(200);
@@ -333,10 +335,13 @@
} else {
//鍙湁杩涘叆璇︽儏鐣岄潰
List<OidBean> newOidList = new ArrayList<>();
+ //琛ㄧず涓棿浠讳綍涓�涓け璐ラ兘鏄敼鍙樼敤澧為噺涓婁紶
+ AtomicBoolean isIncrementalOidAddition = new AtomicBoolean(false);
AtomicInteger atomicInteger = new AtomicInteger(0);
for (int i = 0; i < list.size(); i++) {
GatewayBean gatewayBean = list.get(i);
if (gatewayBean == null || TextUtils.isEmpty(gatewayBean.getDevice_mac())) {
+// isIncrementalOidAddition.set(true);
continue;
}
getInverterOidList(gatewayBean.getDevice_mac(), new LinkCallBack<List<OidBean>>() {
@@ -344,6 +349,7 @@
public void onSuccess(List<OidBean> oidBeanList) {
atomicInteger.set(atomicInteger.get() + 1);
if (oidBeanList == null) {
+// isIncrementalOidAddition.set(true);
return;
}
newOidList.addAll(oidBeanList);
@@ -351,31 +357,33 @@
if (newOidList.isEmpty()) {
return;
}
-// //澧為噺娣诲姞oid
-// updateOidAdd(homeId, oidList, new CloudCallBeak<Boolean>() {
-// @Override
-// public void onSuccess(Boolean obj) {
-// HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔垚鍔�---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac(), true);
-// }
-//
-// @Override
-// public void onFailure(HDLException e) {
-// HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
-// }
-// });
+ if (isIncrementalOidAddition.get()) {
+ //澧為噺娣诲姞oid
+ updateOidAdd(homeId, newOidList, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔垚鍔�---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac(), true);
+ }
- //鍏ㄩ儴鑾峰彇鍚庡啀涓婁紶
- fullUpdateOid(homeId, newOidList, new CloudCallBeak<Boolean>() {
- @Override
- public void onSuccess(Boolean obj) {
- HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔垚鍔�(鍏ㄩ噺)---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "---\r\n鏁版嵁---" + new Gson().toJson(newOidList), true);
- }
+ @Override
+ public void onFailure(HDLException e) {
+ HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
+ }
+ });
+ } else {
+ //鍏ㄩ儴鑾峰彇鍚庡啀涓婁紶
+ fullUpdateOid(homeId, newOidList, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔垚鍔�(鍏ㄩ噺)---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "---\r\n鏁版嵁---" + new Gson().toJson(newOidList), true);
+ }
- @Override
- public void onFailure(HDLException e) {
- HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�(鍏ㄩ噺)---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
- }
- });
+ @Override
+ public void onFailure(HDLException e) {
+ HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�(鍏ㄩ噺)---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
+ }
+ });
+ }
}
}
@@ -399,6 +407,8 @@
HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�(澧為噺)---浣忓畢id:" + homeId + "---mac:" + gatewayBean.getDevice_mac() + "-->" + e.getMsg() + "(" + e.getCode() + ")", true);
}
});
+ } else {
+ isIncrementalOidAddition.set(true);
}
}
});
@@ -630,7 +640,7 @@
HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�---褰撳墠浣忓畢id:" + UserConfigManage.getInstance().getHomeId() + "---涓婁紶浣忓畢id:" + homeId, true);
return;
}
- if (oidList == null || oidList.size() == 0) {
+ if (oidList == null || oidList.isEmpty()) {
HdlLogLogic.print("oid鍒楄〃涓虹┖锛屾棤娉曞叏閲忔洿鏂皁id鍒颁簯绔�---", true);
return;
}
--
Gitblit v1.8.0