From df5bb38685ccb11735abf4a0a0f847eb43d63771 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 30 十月 2024 11:40:59 +0800
Subject: [PATCH] 2024年10月30日11:40:57

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 45 insertions(+), 4 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 98aa56d..6187c5f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -21,6 +21,7 @@
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.reflect.TypeToken;
+import com.hdl.link.error.HDLLinkCode;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean;
 import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean;
@@ -46,6 +47,7 @@
 import com.hdl.photovoltaic.ui.bean.BUserInfo;
 import com.hdl.photovoltaic.ui.bean.CUserInfo;
 import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
+import com.hdl.photovoltaic.ui.bean.DeviceInfoBean;
 import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
 import com.hdl.photovoltaic.ui.bean.Geolocation;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
@@ -65,7 +67,6 @@
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.NetworkUtils;
 import com.hdl.photovoltaic.utils.WifiUtils;
-import com.hdl.sdk.link.common.exception.HDLLinkCode;
 import com.hdl.sdk.link.common.exception.HDLLinkException;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
@@ -165,6 +166,16 @@
                         jsonObject.addProperty("user_name", UserConfigManage.getInstance().getUserName());
                         jsonObject.addProperty("user_image_url", UserConfigManage.getInstance().getUserImageUrl());
                         jsonObject.addProperty("user_account", UserConfigManage.getInstance().getAccount());
+
+                        jsonObject.addProperty("token", HDLLinkPMUser.getInstance().getAccessToken());
+                        jsonObject.addProperty("refreshToken", HDLLinkPMUser.getInstance().getRefreshToken());
+                        if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) {
+                            AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
+                        }
+                        jsonObject.addProperty("serverAddress", AppConfigManage.getUserRegionUrl());
+                        jsonObject.addProperty("appKey", AppConfigManage.getAppKey());
+                        jsonObject.addProperty("appSecret", AppConfigManage.getAppSecret());
+
                         uniSuccessCallback(mode_type, jsonObject, callback);
 
                     }
@@ -362,6 +373,11 @@
                     //蹇嵎寮�鍚�嗗彉鍣�
                     case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_LIST: {
                         this.uniSetDeviceStartup(mode_type, data, callback);
+                    }
+                    break;
+                    //鑾峰彇璁惧璇︽儏
+                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_info: {
+                        this.uniGetDeviceInfo(mode_type, data, callback);
                     }
                     break;
                 }
@@ -2475,10 +2491,35 @@
     public void uniSetDeviceStartup(String type, Object data, DCUniMPJSCallback callback) {
         String homeId = getKeyValue("homeId", getKeyValue("data", data));
         String aryJson = getKeyValue("deviceIds", getKeyValue("data", data));
-        HdlDeviceLogic.getInstance().setDeviceStartup(homeId, aryJson, new CloudCallBeak<Boolean>() {
+        JsonArray jsonArray = new Gson().fromJson(aryJson, JsonArray.class);
+        HdlDeviceLogic.getInstance().setDeviceStartup(homeId, jsonArray, new CloudCallBeak<Boolean>() {
             @Override
             public void onSuccess(Boolean obj) {
                 uniSuccessCallback(type, obj, callback);
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                uniCallbackData(type, null, e.getCode(), e.getMsg(), callback);
+            }
+        });
+    }
+
+    /**
+     * 鑾峰彇璁惧璇︽儏
+     *
+     * @param type     绫诲瀷
+     * @param data     uni璇锋眰鏁版嵁
+     * @param callback uni鍥炶皟
+     */
+    public void uniGetDeviceInfo(String type, Object data, DCUniMPJSCallback callback) {
+        String homeId = getKeyValue("homeId", getKeyValue("data", data));
+        String aryJson = getKeyValue("deviceIds", getKeyValue("data", data));
+        JsonArray jsonArray = new Gson().fromJson(aryJson, JsonArray.class);
+        HdlDeviceLogic.getInstance().getDeviceInfo(homeId, jsonArray, new CloudCallBeak<List<DeviceInfoBean>>() {
+            @Override
+            public void onSuccess(List<DeviceInfoBean> list) {
+                uniSuccessCallback(type, list, callback);
             }
 
             @Override
@@ -2560,8 +2601,8 @@
             }
             if (isTokenAndRefreshToken) {
                 //灏忕▼搴忛偅閲屾湁鑷繁鐨勮姹傛柟娉�,浣嗛渶瑕佸師鐢熸彁渚涜繖浜涙暟鎹�
-                data.put("token", UserConfigManage.getInstance().getToken());
-                data.put("refreshToken", UserConfigManage.getInstance().getRefreshToken());
+                data.put("token", HDLLinkPMUser.getInstance().getAccessToken());
+                data.put("refreshToken", HDLLinkPMUser.getInstance().getRefreshToken());
                 if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) {
                     AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl());
                 }

--
Gitblit v1.8.0