From 17484333e6621a0285b61d50ceedc8698861120b Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期一, 11 三月 2024 20:54:41 +0800
Subject: [PATCH] 2024年03月11日20:54:25
---
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 133 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 130 insertions(+), 3 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 63d314d..90b32bf 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -18,6 +18,7 @@
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
+import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -35,10 +36,16 @@
import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.listener.LinkCallBack;
+import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
import com.hdl.photovoltaic.ui.bean.Geolocation;
import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.me.AsRegardsActivity;
+import com.hdl.photovoltaic.ui.me.PersonalDataActivity;
+import com.hdl.photovoltaic.ui.me.SetActivity;
+import com.hdl.photovoltaic.ui.newC.MessageCenterList;
+import com.hdl.photovoltaic.ui.newC.PowerStationsListEdit;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.NetworkUtils;
@@ -64,6 +71,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.atomic.AtomicInteger;
import io.dcloud.feature.unimp.DCUniMPJSCallback;
import okhttp3.ResponseBody;
@@ -109,7 +117,8 @@
return;
}
String type = getKeyValue("type", data);//灏忕被
- String mode_type = "澶х被->" + topic + "--->灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨�
+ String mode_type = "澶х被->" + topic + "--->" + "灏忕被->" + type;//鐢ㄦ潵鎵撳嵃鐨�
+ HdlLogLogic.print("uni--->鍙戦��--->" + mode_type + "\r\n" + data, true);
if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
//浣忓畢妯″潡
switch (type) {
@@ -159,6 +168,11 @@
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: {
this.uniAddInverterDeviceToCloud(mode_type, data, callback);
}
+ //娣诲姞澶氫釜閫嗗彉鍣ㄥ埌浜戠
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD_All: {
+ this.uniAddAllInverterDeviceToCloud(mode_type, data, callback);
+ }
+
break;
//鍒犻櫎浜戠閫嗗彉鍣�
case HDLUniMP.UNI_EVENT_REPLY_DEVICE_DEL: {
@@ -315,7 +329,6 @@
}
} else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) {
-
//鍏跺畠妯″潡
switch (type) {
//鑾峰彇娓╁害鍗曚綅
@@ -338,8 +351,54 @@
HdlLogLogic.print("uni--->log--->" + customizeContentFormat, true);
}
}
+ } else if (HDLUniMP.UNI_EVENT_REPLY_MINE_MODEL.equals(topic)) {
+ //鎴戠殑妯″潡
+ switch (type) {
+ //璧勬枡缂栬緫
+ case HDLUniMP.UNI_EVENT_REPLY_MINE_EDIT_USER_INFO: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), PersonalDataActivity.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
+ //鐢电珯閫夋嫨
+ case HDLUniMP.UNI_EVENT_REPLY_MINE_SELECTED_POWERSTATION: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), PowerStationsListEdit.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
+ //娑堟伅涓績
+ case HDLUniMP.UNI_EVENT_REPLY_MINE_MESSAGE_CENTER: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), MessageCenterList.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
+ //鍏充簬
+ case HDLUniMP.UNI_EVENT_REPLY_MINE_ABOUT: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), AsRegardsActivity.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
+ //璁剧疆
+ case HDLUniMP.UNI_EVENT_REPLY_MINE_SETTING: {
+ Intent intent = new Intent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setClass(HDLApp.getInstance(), SetActivity.class);
+ HDLApp.getInstance().startActivity(intent);
+ }
+ break;
+
+
+ }
}
- HdlLogLogic.print("uni--->鍙戦��--->" + mode_type + "\r\n" + data, true);
+
} catch (Exception e) {
HdlLogLogic.print("uni--->鍙戦��--->" + e.getMessage(), true);
}
@@ -1130,6 +1189,7 @@
}
+
/**
* 閫嗗彉鍣ㄦ坊鍔犲埌浜戠涓�
*
@@ -1179,6 +1239,73 @@
}
/**
+ * 澶氫釜閫嗗彉鍣ㄦ坊鍔犲埌浜戠涓�
+ *
+ * @param data uni鏁版嵁
+ * @param callback uni鍥炶皟
+ */
+ private void uniAddAllInverterDeviceToCloud(String type, Object data, DCUniMPJSCallback callback) {
+// com.alibaba.fastjson.JSONArray jsonArray = JSON.parseArray(data);
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ String homeId = UserConfigManage.getInstance().getHomeId();
+ GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac);
+ if (gatewayBean == null) {
+ uniCallbackData(type, null, -100, HDLApp.getInstance().getString(R.string.The_gateway_cannot_be_found_locally), callback);
+
+ return;
+ }
+ List<GatewayBean> list = new ArrayList<>();
+ //璁板綍鏉℃暟
+ AtomicInteger atomicInteger = new AtomicInteger(0);
+ final boolean[] is_boolean = {false};
+ for (int i = 0; i < list.size(); i++) {
+
+ HdlDeviceLogic.getInstance().setGatewayRemoteParam(homeId, mac, new LinkCallBack<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlDeviceLogic.getInstance().editGatewayParam(mac, new LinkCallBack<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ atomicInteger.set(atomicInteger.get() + 1);
+ //鏈�鍚庝竴鏉℃墠鍋氭坊鍔犻�嗗彉鍣ㄩ�昏緫澶勭悊
+ if (atomicInteger.get() == list.size()) {
+ HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, mac,list , new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ uniCallbackData(type, null, callback);
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ }
+ });
+ }
+
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ is_boolean[0] = true;
+ }
+ });
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+ is_boolean[0] = true;
+ }
+ });
+ if (is_boolean[0]) {
+ //鍙湁涓棿鏈変竴鏉℃寚浠よ缃け璐�,榛樿鍏ㄩ儴澶辫触;
+ break;
+ }
+ }
+ }
+
+ /**
* 鍒犻櫎浜戠涓婇�嗗彉鍣�
*
* @param data uni鏁版嵁
--
Gitblit v1.8.0