From a3798b01c03911efcd7f7b28f78cebc35871c528 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 06 八月 2024 18:37:07 +0800
Subject: [PATCH] 2024年08月06日18:37:05
---
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 139 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 130 insertions(+), 9 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 197b7e6..d91f1db 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -3,6 +3,9 @@
import android.os.SystemClock;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -19,8 +22,10 @@
import com.hdl.photovoltaic.listener.LinkCallBack;
import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
+import com.hdl.photovoltaic.ui.bean.DeviceInfoBean;
import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
+import com.hdl.photovoltaic.ui.bean.NotRunBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.sdk.link.common.exception.HDLLinkException;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
@@ -30,6 +35,7 @@
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
import com.hdl.sdk.link.gateway.type.GatewayMasterType;
+import com.huawei.hms.support.api.entity.core.JosBaseReq;
import java.lang.reflect.Type;
@@ -909,20 +915,29 @@
*/
public void getGatewayInfo(String mac, LinkCallBack<GatewayBean> linkCallBack) {
String requestUrl = TopicApi.GET_GATEWAY_INFO;
- TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() {
+ JsonObject json = new JsonObject();
+ json.addProperty("device_mac", mac);
+ TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() {
@Override
public void onSuccess(String json) {
- if (TextUtils.isEmpty(json)) {
- if (linkCallBack != null) {
- linkCallBack.onSuccess(null);
- }
+ if (linkCallBack == null) {
return;
}
- Gson gson = new Gson();
- GatewayBean gatewayBean = gson.fromJson(json, GatewayBean.class);
- if (linkCallBack != null) {
- linkCallBack.onSuccess(gatewayBean);
+ if (TextUtils.isEmpty(json)) {
+ linkCallBack.onSuccess(null);
+ return;
}
+
+ Gson gson = new Gson();
+ Type typeOfT = new TypeToken<BaseLocalResponse<GatewayBean>>() {
+ }.getType();
+ BaseLocalResponse<GatewayBean> baseLocalResponse = gson.fromJson(json, typeOfT);
+ if (baseLocalResponse == null || baseLocalResponse.getObjects() == null) {
+ linkCallBack.onSuccess(new GatewayBean());
+ } else {
+ linkCallBack.onSuccess(baseLocalResponse.getObjects());
+ }
+
}
@Override
@@ -1373,6 +1388,112 @@
/**
+ * 鑾峰彇鏈繍琛岄�嗗彉鍣ㄥ垪琛�
+ *
+ * @param homeId 鐢电珯id
+ */
+ public void getListNotRun(String homeId, CloudCallBeak<List<NotRunBean>> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Device_listNotRun;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+ // json.addProperty("zoneType", "password");//鍖哄煙
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (TextUtils.isEmpty(jsonStr)) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(new ArrayList<>());
+ }
+ }
+ Type type = new TypeToken<List<NotRunBean>>() {
+ }.getType();
+ List<NotRunBean> list = new Gson().fromJson(jsonStr, type);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+ /**
+ * 閫嗗彉鍣ㄥ紑鏈�
+ *
+ * @param homeId 鐢电珯id
+ * @param arrayList 璁惧id鏁扮粍
+ */
+ public void setDeviceStartup(String homeId, JsonArray arrayList, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Device_startup;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+ json.add("deviceIds", arrayList);
+ // json.addProperty("zoneType", "password");//鍖哄煙
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+ /**
+ * 鑾峰彇璁惧璇︽儏
+ *
+ * @param homeId 鐢电珯id
+ * @param arrayList 璁惧id鏁扮粍
+ */
+ public void getDeviceInfo(String homeId, JsonArray arrayList, CloudCallBeak<List<DeviceInfoBean>> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Device_info;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+ json.add("deviceIds", arrayList);
+ // json.addProperty("zoneType", "password");//鍖哄煙
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (TextUtils.isEmpty(jsonStr)) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(new ArrayList<>());
+ }
+ return;
+ }
+ Gson gson = new Gson();
+ List<DeviceInfoBean> list = gson.fromJson(jsonStr, new TypeToken<List<DeviceInfoBean>>() {
+ }.getType());
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+ /**
* 鍒锋柊閫嗗彉鍣ㄧ紦瀛樹俊鎭�(鍖呮嫭璁剧疆mqtt绉橀挜锛�
* 娉�: //鐩殑鏄负浜嗚幏鍙栨嬁鍒扮綉鍏矷D锛宮qtt閫氳绉橀挜绛変俊鎭紝缂撳瓨鏈湴閫嗗彉鍣ㄥ垪琛ㄩ噷闈紝鍙戦�佹暟鎹暟鎹椂鑷姩鍘荤紦瀛樺垪琛ㄩ噷闈㈠幓鏌ユ壘锛�
* 1:鏈湴瀛樺湪,鏇存柊淇℃伅鍗冲彲;
--
Gitblit v1.8.0