From 438e4880f3f43021b222b201378377c1ec34c634 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期六, 11 五月 2024 14:59:10 +0800
Subject: [PATCH] 2024年05月11日14:59:03
---
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 144 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 144 insertions(+), 0 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 efd2bd2..ab7d37a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -9,6 +9,7 @@
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.bean.PageNumberObject;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.internet.HttpClient;
@@ -19,9 +20,13 @@
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.DeviceBean;
import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
+import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
+import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.hdl.sdk.link.common.config.TopicConstant;
import com.hdl.sdk.link.common.exception.HDLLinkCode;
@@ -71,7 +76,23 @@
public static final String kWh = "kW.h";
public static final String kW = "kW";
+ private List<DeviceBean> mListDevice = new ArrayList<>();
+ public void clearDeviceList() {
+ if (mListDevice == null) {
+ return;
+ }
+ if (mListDevice.size() > 0) {
+ mListDevice.clear();
+ }
+ }
+
+ public List<DeviceBean> getDeviceList() {
+ if (mListDevice == null) {
+ return new ArrayList<>();
+ }
+ return mListDevice;
+ }
/**
* 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�(鍖呮嫭浠庣殑閫嗗彉鍣�)
@@ -150,6 +171,129 @@
}
}
+ /**
+ * 鑾峰彇璁惧鍒楄〃(瀹夎鍟�)
+ *
+ * @param searchTxt 鎼滅储鍐呭
+ * @param pageNo 椤电爜
+ * @param pageSize 椤垫暟
+ */
+ public void getPowerStationDeviceList(String searchTxt, long pageNo, long pageSize, CloudCallBeak<PageNumberObject<DeviceBean>> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_deviceList;
+ JsonObject json = new JsonObject();
+ if (!TextUtils.isEmpty(searchTxt)) {
+ json.addProperty("searchTxt", searchTxt);
+ }
+ json.addProperty("pageNo", pageNo);//椤电爜
+ json.addProperty("pageSize", pageSize);//椤垫暟
+// json.addProperty("zoneType", zoneType);//鍖哄煙
+ 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 PageNumberObject<>());
+ }
+ }
+ Gson gson = new Gson();
+ Type type = new TypeToken<PageNumberObject<DeviceBean>>() {
+ }.getType();
+ PageNumberObject<DeviceBean> pageNumberObject = gson.fromJson(jsonStr, type);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(pageNumberObject);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+ /**
+ * 鐢电珯鐘舵�佹瑙�(瀹夎鍟�)
+ */
+ public void getStatusOverview(CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_statusOverview;
+ JsonObject json = new JsonObject();
+// json.addProperty("zoneType", zoneType);//鍖哄煙
+ 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 StatusOverviewBean());
+ }
+ }
+ Gson gson = new Gson();
+ StatusOverviewBean statusOverviewBean = gson.fromJson(jsonStr, StatusOverviewBean.class);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(statusOverviewBean);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+ /**
+ * 娣诲姞銆愯澶囧垪琛ㄣ�戝埌鏈湴缂撳瓨
+ *
+ * @param list -璁惧鍒楄〃
+ */
+ public void setListDevice(List<DeviceBean> list) {
+ try {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ if (this.mListDevice.size() == 0) {
+ this.mListDevice.addAll(list);
+ return;
+ }
+ for (int i = 0; i < list.size(); i++) {
+ this.setSingleDevice(list.get(i));
+ }
+ } catch (Exception ignored) {
+ }
+ }
+
+ /**
+ * 娣诲姞璁惧鍒板垪琛ㄩ噷闈�
+ *
+ * @param deviceBean -璁惧瀵硅薄
+ */
+ public void setSingleDevice(DeviceBean deviceBean) {
+ try {
+ if (deviceBean == null) {
+ return;
+ }
+ boolean if_boolean = false;
+ for (int i = 0; i < mListDevice.size(); i++) {
+ if (mListDevice.get(i).getOsn().equals(deviceBean.getOsn())) {
+ //瀛樺湪鏇挎崲
+ mListDevice.remove(i);
+ mListDevice.add(i, deviceBean);
+ if_boolean = true;
+ break;
+ }
+ }
+ if (!if_boolean) {
+ //娌℃湁娣诲姞
+ this.mListDevice.add(deviceBean);
+ }
+ } catch (Exception e) {
+ String mes = e.getMessage();
+ HdlLogLogic.print("--->" + mes);
+ }
+ }
/**
* 閫嗗彉鍣ㄤ笂浼犳暟鎹埌浜戠(鍖呮嫭:sid锛宱id)
--
Gitblit v1.8.0