From c78db812030cdcf545c400b43825d7b2c5b076e1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 28 十一月 2024 12:27:05 +0800
Subject: [PATCH] 2024年11月28日12:27:03

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |  110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 1 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 7beca24..9316532 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -37,6 +37,7 @@
 import com.hdl.photovoltaic.bean.PageNumberObject;
 import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
 import com.hdl.photovoltaic.internet.TcpClient;
 import com.hdl.photovoltaic.internet.api.TopicApi;
@@ -48,6 +49,7 @@
 import com.hdl.photovoltaic.ui.bean.DeviceTimeBean;
 import com.hdl.photovoltaic.ui.bean.Geolocation;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
+import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
 import com.hdl.photovoltaic.ui.bean.LinkBean;
 import com.hdl.photovoltaic.ui.bean.MemberBean;
 import com.hdl.photovoltaic.ui.bean.NotRunBean;
@@ -77,6 +79,7 @@
 import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
 
 import org.greenrobot.eventbus.EventBus;
+import org.json.JSONArray;
 import org.json.JSONObject;
 
 
@@ -245,6 +248,12 @@
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURLQRCODE: {
                         uniGetDeliveryUrlQrcode(type, data, callback);
                     }
+                    break;
+                    //鐢电珯鐨勪氦浠楿RL(瀹夎鍟�)
+                    case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURL: {
+                        uniGetDeliveryUrl(type, data, callback);
+                    }
+
                     break;
                     //鐢电珯鎵嬪姩浜や粯(瀹夎鍟�)
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERTOACCOUNT: {
@@ -700,10 +709,90 @@
                     }
                     break;
                     //link杩涜瀵嗙爜楠岃瘉
-                    case HDLUniMP.UNI_EVENT_REPLY_OTHER_Password_verifiy: {
+                    case HDLUniMP.UNI_EVENT_REPLY_OTHER_PASSWORD_VERIFIY: {
                         uniCheckPasswordVerification(mode_type, data, callback);
                     }
                     break;
+                    //鏈湴json璧勬簮鏂囦欢鑾峰彇
+                    case HDLUniMP.UNI_EVENT_REPLY_OTHER_GET_LOCAL_JSON: {
+                        String url = getKeyValue("url", getKeyValue("data", data));
+                        String deviceModel = getKeyValue("deviceModel", getKeyValue("data", data));
+                        String language = getKeyValue("language", getKeyValue("data", data));
+                        String json = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(url, deviceModel);
+                        if (TextUtils.isEmpty(json)) {
+                            //鏈湴娌℃湁缂撳瓨
+                            HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(url, deviceModel, new CloudCallBeak<String>() {
+                                @Override
+                                public void onSuccess(String obj) {
+//                                    if (callback != null) {
+//                                        uniSuccessCallback(type, obj, callback);
+//                                    }
+                                    String s = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(url, deviceModel);
+                                    //鏈湴缂撳瓨鏁版嵁
+                                    if (callback != null) {
+                                        try {
+                                            if (s.startsWith("{")) {
+                                                uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback);
+                                            } else if (s.startsWith("[")) {
+                                                uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback);
+                                            } else {
+                                                uniSuccessCallback(type, s, callback);
+                                            }
+                                        } catch (Exception e) {
+                                            uniSuccessCallback(type, s, callback);
+                                        }
+                                    }
+                                }
+
+                                @Override
+                                public void onFailure(HDLException e) {
+                                    if (callback != null) {
+                                        uniExceptionCallback(type, e, callback);
+                                    }
+                                }
+                            });
+                        } else {
+                            //鏈湴缂撳瓨鏁版嵁
+                            if (callback != null) {
+                                try {
+                                    if (json.startsWith("{")) {
+                                        uniSuccessCallback(type, new Gson().fromJson(json, JsonObject.class), callback);
+                                    } else if (json.startsWith("[")) {
+                                        uniSuccessCallback(type, new Gson().fromJson(json, JsonArray.class), callback);
+                                    } else {
+                                        uniSuccessCallback(type, json, callback);
+                                    }
+                                } catch (Exception e) {
+                                    uniSuccessCallback(type, json, callback);
+                                }
+                            }
+                        }
+                    }
+                    break;
+                }
+            } else if (HDLUniMP.UNI_EVENT_REPLY_COMMON_MODEL.equals(topic)) {
+                //缃戠粶璇锋眰妯″潡
+                if (type.equals(HDLUniMP.UNI_EVENT_REPLY_UNI_SEND_TO_CLOUD)) {
+                    String url = getKeyValue("url", getKeyValue("data", data));
+                    JsonObject jObject = new JsonObject();
+                    String body = getKeyValue("body", getKeyValue("data", data));
+                    if (!TextUtils.isEmpty(body)) {
+                        try {
+                            jObject = new Gson().fromJson(body, JsonObject.class);
+                        } catch (Exception ignored) {
+                        }
+                    }
+                    HttpClient.getInstance().requestHttp(url, jObject.toString(), new CloudCallBeak<String>() {
+                        @Override
+                        public void onSuccess(String jsonStr) {
+                            uniSuccessCallback(mode_type, jsonStr, callback);
+                        }
+
+                        @Override
+                        public void onFailure(HDLException e) {
+                            uniExceptionCallback(mode_type, e, callback);
+                        }
+                    });
                 }
             }
 
@@ -900,6 +989,25 @@
     }
 
     /**
+     * 鐢电珯鐨勪氦浠楿Rl(瀹夎鍟�)
+     */
+    private void uniGetDeliveryUrl(String type, Object data, DCUniMPJSCallback callback) {
+        String homeId = getKeyValue("homeId", getKeyValue("data", data));
+        HdlResidenceLogic.getInstance().getDeliveryUrl(homeId, new CloudCallBeak<String>() {
+            @Override
+            public void onSuccess(String obj) {
+                uniSuccessCallback(type, obj, callback);
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                uniExceptionCallback(type, e, callback);
+            }
+        });
+
+    }
+
+    /**
      * 鑾峰彇褰撳墠璐﹀彿鍦ㄥ叕鍙哥殑韬唤
      */
     private void uniGetUserRightType(String type, Object data, DCUniMPJSCallback callback) {

--
Gitblit v1.8.0