From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java | 407 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 377 insertions(+), 30 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index a7b54f7..e816a8f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -4,30 +4,24 @@
import android.graphics.BitmapFactory;
import android.os.Build;
import android.text.TextUtils;
+import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
-import com.hdl.photovoltaic.bean.HttpResponsePack;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.ProjectOperation;
import com.hdl.photovoltaic.internet.HttpClient;
import com.hdl.photovoltaic.internet.api.HttpApi;
-import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak;
import com.hdl.photovoltaic.listener.CloudCallBeak;
-import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
-import com.hdl.photovoltaic.ui.bean.DeviceBean;
+import com.hdl.photovoltaic.ui.bean.ContactBean;
import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
-import com.hdl.photovoltaic.ui.bean.MessageBean;
-import com.hdl.sdk.link.common.exception.HDLLinkException;
-import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
-import com.hdl.sdk.link.core.callback.GatewayCallBack;
+import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
-import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
-import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -76,10 +70,10 @@
}
public void clearHouseList() {
- if (houseInfoList == null) {
- return;
+ if (mHouseIdList != null && mHouseIdList.size() > 0) {
+ mHouseIdList.clear();
}
- if (houseInfoList.size() > 0) {
+ if (houseInfoList != null && houseInfoList.size() > 0) {
houseInfoList.clear();
}
}
@@ -94,6 +88,33 @@
return mHouseIdList;
}
+ /**
+ * 璁剧疆鍒楄〃鏁版嵁
+ *
+ * @param list 鏂板垪琛�
+ * @param isClear 鏄惁娓呴櫎鏃ф暟鎹�,true琛ㄧず娓呴櫎,鍚﹀垯涓嶆竻闄�;
+ */
+ public void setHouseIdList(List<HouseIdBean> list, boolean isClear) {
+ if (list == null || list.size() == 0) {
+ return;
+ }
+ if (isClear) {
+ this.clearHouseList();
+ }
+ if (this.mHouseIdList.size() == 0) {
+ this.mHouseIdList.addAll(list);
+ return;
+ }
+ for (int i = 0; i < list.size(); i++) {
+ this.setSingleHouseId(list.get(i));
+ }
+ }
+
+ /**
+ * 璁剧疆鍒楄〃鏁版嵁
+ *
+ * @param list 鏂板垪琛ㄦ暟鎹�
+ */
public void setHouseIdList(List<HouseIdBean> list) {
if (list == null || list.size() == 0) {
return;
@@ -150,6 +171,25 @@
for (int i = 0; i < mHouseIdList.size(); i++) {
if (mHouseIdList.get(i).getHomeId().equals(houseId)) {
mHouseIdList.remove(i);
+ break;
+ }
+ }
+ }
+
+ /**
+ * 鐢电珯Id瀵硅薄鏇存柊
+ *
+ * @param houseIdBean 鐢电珯id瀵硅薄
+ */
+ public void updateHouseIdBean(HouseIdBean houseIdBean) {
+ if (houseIdBean == null) {
+ return;
+ }
+ for (int i = 0; i < mHouseIdList.size(); i++) {
+ HouseIdBean h = mHouseIdList.get(i);
+ if (h.getHomeId().equals(houseIdBean.getHomeId())) {
+ h.setDebugStatus(houseIdBean.getDebugStatus());
+ //mHouseIdList.set(i,houseIdBean);鏁翠釜瀵硅薄鏇挎崲
break;
}
}
@@ -266,7 +306,6 @@
* ascending:鍗囧簭),
*/
public void getResidenceIdList(String key, String keyValue, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) {
-
String requestUrl = HttpApi.POST_PowerStation_List;
JsonObject json = new JsonObject();
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
@@ -327,7 +366,6 @@
}
});
}
-
}
@Override
@@ -344,20 +382,51 @@
/**
* 鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
*
- * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort);
- * 浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort);
- * 鍒涘缓鏃堕棿鎺掑簭(createTimeSort);
- * @param keyValue (descending:闄嶅簭
- * ascending:鍗囧簭),
- * @param pageNo 椤电爜
- * @param pageSize 椤垫暟锛堜竴椤靛灏戞暟鎹級
+ * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort);
+ * 浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort);
+ * 鍒涘缓鏃堕棿鎺掑簭(createTimeSort);
+ * @param keyValue (descending:闄嶅簭
+ * ascending:鍗囧簭),
+ * @param installedCapacityMin 鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
+ * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
+ * @param debugStatus 璋冭瘯鐘舵��(鍏ㄩ儴;璋冭瘯涓�;璋冭瘯瀹屾垚;宸蹭氦浠�;鎺堟潈璋冭瘯)
+ * @param powerStationStatus 鐢电珯鐘舵�� (鍏ㄩ儴 锛�"";1 锛� 姝e父;2 锛� 绂荤嚎; 3 锛� 寰呮帴鍏�;4 锛� 鏁呴殰)
+ * @param pageNo 椤电爜
+ * @param pageSize 椤垫暟锛堜竴椤靛灏戞暟鎹級
*/
- public void getResidenceIdList(String key, String keyValue, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
+ public void getResidenceIdList(String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String debugStatus, String powerStationStatus, long pageNo, long pageSize, CloudCallBeak<HouseBeanClass> cloudCallBeak) {
String requestUrl = HttpApi.POST_PowerStation_List;
JsonObject json = new JsonObject();
if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
json.addProperty(key, keyValue);//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
+ }
+ if (!TextUtils.isEmpty(installedCapacityMin)) {
+ try {
+ int value = Integer.parseInt(installedCapacityMin);//鍙兘鏈夊紓甯�,鐢ㄦ埛杈撳叆鍊艰秴鏃秈nt鏈�澶ц嚧瀵艰嚧鐨�
+ json.addProperty("installedCapacityMin", value);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(installedCapacityMax)) {
+ try {
+ int value = Integer.parseInt(installedCapacityMax);//鍙兘鏈夊紓甯�,鐢ㄦ埛杈撳叆鍊艰秴鏃秈nt鏈�澶ц嚧瀵艰嚧鐨�
+ json.addProperty("installedCapacityMax", value);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(debugStatus)) {
+ try {
+ json.addProperty("debugStatus", debugStatus);
+ } catch (Exception ignored) {
+ }
+ }
+ if (!TextUtils.isEmpty(powerStationStatus)) {
+ try {
+ int value = Integer.parseInt(powerStationStatus);
+ json.addProperty("powerStationStatus", value);
+ } catch (Exception ignored) {
+ }
}
// json.addProperty("zoneType", "password");//鍖哄煙
json.addProperty("pageNo", pageNo);//椤电爜
@@ -542,6 +611,52 @@
}
/**
+ * 鐢电珯鐘舵�佹瑙�(瀹夎鍟�)
+ *
+ * @param debugStatus (璋冭瘯鐘舵��:Debugging = 璋冭瘯涓�,WAIT_DELIVERED = 璋冭瘯瀹屾垚,Delivered = 宸蹭氦浠�,SECONDARY_DEBUGGIN = 鎺堟潈璋冭瘯)
+ * @param installedCapacityMin 鏈�灏忕粍涓插閲�(瑁呮満瀹归噺)
+ * @param installedCapacityMax 鏈�澶х粍涓插閲�(瑁呮満瀹归噺)
+ */
+ public void getStatusOverview(String debugStatus, String installedCapacityMin, String installedCapacityMax, CloudCallBeak<StatusOverviewBean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_statusOverview;
+ JsonObject json = new JsonObject();
+ if (!TextUtils.isEmpty(installedCapacityMin)) {
+ json.addProperty("installedCapacityMin", installedCapacityMin);
+ }
+ if (!TextUtils.isEmpty(installedCapacityMax)) {
+ json.addProperty("installedCapacityMax", installedCapacityMax);
+ }
+ if (!TextUtils.isEmpty(debugStatus)) {
+ json.addProperty("debugStatus", debugStatus);
+ }
+
+
+// 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 houseInfoBean -
@@ -654,6 +769,41 @@
}
+
+ /**
+ * 鑱旂郴鎴戜滑
+ *
+ * @param cloudCallBeak -
+ */
+ public void getResidenceUtilContact(CloudCallBeak<ContactBean> cloudCallBeak) {
+ String requestUrl = HttpApi.B_POST_GET_UTIL_CONTACT;
+ JsonObject json = new JsonObject();
+ 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 ContactBean());
+ return;
+ }
+ }
+ ContactBean contactBean = new Gson().fromJson(jsonStr, ContactBean.class);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(contactBean);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+
+ }
+
/**
* 鑾峰彇鐢ㄦ埛鑷畾涔夐厤缃俯搴﹀崟浣嶈鎯�
*
@@ -664,7 +814,6 @@
JsonObject json = new JsonObject();
// json.addProperty("homeId", homeId);
- List<MessageBean> list = new ArrayList<>();
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@Override
public void onSuccess(String jsonStr) {
@@ -764,13 +913,16 @@
/**
* 鍒囨崲浣忓畢
*
- * @param houseIdBean 浣忓畢Id瀵硅薄
+ * @param houseIdBean 浣忓畢Id瀵硅薄
+ * @param checkStationId 琛ㄧず鏄惁鍚姩妫�楠岀數绔橧d鐨勯�昏緫锛坱rue琛ㄧず妫�娴�,鍚﹀垯涓嶆楠岋級
*/
- public void switchHouse(HouseIdBean houseIdBean) {
+ public void switchHouse(HouseIdBean houseIdBean, boolean checkStationId) {
String homeId = UserConfigManage.getInstance().getHomeId();
- if (houseIdBean.getHomeId().equals(homeId)) {
- HdlLogLogic.print("鐐瑰嚮鍚屼竴涓綇瀹�--->" + homeId);
- return;
+ if (checkStationId) {
+ if (houseIdBean.getHomeId().equals(homeId)) {
+ HdlLogLogic.print("鐐瑰嚮鍚屼竴涓綇瀹�--->" + homeId);
+ return;
+ }
}
//璁㈤槄瑕佸叏閮ㄥ彇娑�
if (MqttRecvClient.getInstance() != null) {
@@ -792,7 +944,7 @@
//閲嶆柊鍒涘缓浣忓畢鏂囦欢澶�
HdlFileLogic.getInstance().createDirectory();
//杩涘幓浣忓畢璇︽儏鎼滅储涓�涓嬮�嗗彉鍣ㄥ垪琛�,鐩殑鏄缓绔嬮�氳閫氶亾;
- HdlDeviceLogic.getInstance().searchCurrentHomeGateway(null);
+ HdlDeviceLogic.getInstance().searchCurrentHomeGateway(houseIdBean.getHomeId(), null);
}
@@ -823,6 +975,170 @@
});
}
+ /**
+ * 鐢电珯鎺堟潈瀹夎鍟嗭紙C绔級
+ * 鎻忚堪锛氫氦浠樺悗鐨勪綇瀹咃紝C绔敤鎴峰彲浠ュ紑鍚巿鏉冨悗瀹夎鍟嗗彲浠ョ户缁皟璇曠數绔�
+ *
+ * @param homeId 鐢电珯id
+ * @param debugPerm 鎺堟潈鐘舵�侊紙true鍙互缁х画璋冭瘯锛�
+ * @param cloudCallBeak -
+ */
+ public void homeUpdateDebugPerm(String homeId, boolean debugPerm, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.C_POST_HOME_UPDATEDEBUGPERM;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+ json.addProperty("debugPerm", debugPerm);
+// json.addProperty("zoneType", memberBean.getId());//鍖哄煙
+
+ 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);
+ }
+ }
+ });
+
+ }
+
+ /**
+ * 鑾峰彇鐢电珯浜や粯浜岀淮鐮侊紙B绔級
+ * 鎻忚堪锛氬畨瑁呭晢鐢电珯鐨勪氦浠樹簩缁寸爜
+ *
+ * @param homeId 鐢电珯id
+ * @param cloudCallBeak -
+ */
+ public void getDeliveryUrlQrcode(String homeId, CloudCallBeak<String> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_getDeliveryUrlQrcode;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+// json.addProperty("zoneType", memberBean.getId());//鍖哄煙
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(jsonStr);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+ }
+
+
+ /**
+ * 鑾峰彇鐢电珯浜や粯URl锛圔绔級
+ * 鎻忚堪锛氬畨瑁呭晢鐢电珯鐨勪氦浠楿Rl
+ *
+ * @param homeId 鐢电珯id
+ * @param cloudCallBeak -
+ */
+ public void getDeliveryUrl(String homeId, CloudCallBeak<String> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_getDeliveryUrl;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+// json.addProperty("zoneType", memberBean.getId());//鍖哄煙
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(jsonStr);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+ }
+
+
+ /**
+ * 鐢电珯鎵嬪姩浜や粯(B绔�)
+ * 鎻忚堪锛氬畨瑁呭晢鎵嬪姩浜や粯鐢电珯缁欐寚瀹氱殑C绔处鍙�
+ *
+ * @param homeId 鐢电珯id
+ * @param account C绔处鍙�
+ * @param cloudCallBeak -
+ */
+ public void getDeliverToAccount(String homeId, String account, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_deliverToAccount;
+ JsonObject json = new JsonObject();
+ json.addProperty("homeId", homeId);
+ json.addProperty("account", account);//C绔处鍙�
+// json.addProperty("zoneType", memberBean.getId());//鍖哄煙
+
+ 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);
+ }
+ }
+ });
+
+ }
+
+ /**
+ * 鏇存柊椤圭洰鐘舵�� 锛堜氦浠樸�侀獙鏀躲�佹挙閿�浜や粯銆侀獙鏀舵湭閫氳繃銆侀噸鏂拌皟璇曘�佷氦浠樺洖婊氱瓑鎿嶄綔锛夛紙https://hdl-gz.yuque.com/wnkbmh/diiq35/kegldc#gWveC锛�
+ *
+ * @param homeId 鐢电珯id
+ * @param communityId 绀惧尯id
+ * @param flowRecordContent 娴佽浆璁板綍鍐呭
+ * @param projectOperation 椤圭洰鐘舵��
+ * @param cloudCallBeak -
+ */
+ public void setUpdateProjectDebugStatus(String homeId, String communityId, String flowRecordContent, String projectOperation, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_UpdateProjectDebugStatus;
+ JsonObject json = new JsonObject();
+ json.addProperty("houseId", homeId);
+ json.addProperty("communityId", communityId);
+ json.addProperty("flowRecordContent", flowRecordContent);//娴佽浆璁板綍鍐呭
+ json.addProperty("projectFlowRecordActionEnum", projectOperation);
+
+ 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);
+ }
+ }
+ });
+
+ }
/**
* 娣诲姞鎺ㄩ�乀oken
@@ -858,6 +1174,37 @@
}
+ /**
+ * 鍒犻櫎鎺ㄩ�乀oken
+ *
+ * @param cloudCallBeak -
+ */
+ public void pushDel(CloudCallBeak<String> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_push_del;
+ JsonObject json = new JsonObject();
+ json.addProperty("pushId", UserConfigManage.getInstance().getPushId());
+ json.addProperty("pushToken", UserConfigManage.getInstance().getRegistrationID());
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(jsonStr);
+ }
+
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+
+ }
+
public static class HouseBeanClass {
//鎬绘潯鏁�
--
Gitblit v1.8.0