From 14de918a79943e4961b09fa01ed320c6cad41f2e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 28 六月 2023 17:14:51 +0800
Subject: [PATCH] Revert "Revert "Merge branch 'hxb' into wjc""

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   80 ++++++++++++++++++++++++++-------------
 1 files changed, 53 insertions(+), 27 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 e9f9b18..f362488 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -5,11 +5,21 @@
 
 import com.google.gson.Gson;
 import com.hdl.photovoltaic.HDLApp;
+import com.hdl.photovoltaic.bean.BaseEventBus;
+import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.WifiUtils;
+import com.hdl.sdk.link.HDLLinkLocalSdk;
+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.sdk.link.core.callback.HDLLinkCallBack;
+import com.hdl.sdk.link.core.config.HDLLinkConfig;
+import com.hdl.sdk.link.gateway.HDLLinkLocalGateway;
 
+import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
 
@@ -52,12 +62,14 @@
             if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
                 return;
             }
-            String json = data == null ? "{}" : data.toString();
-            json = json.equals("") ? "{}" : json;
-            org.json.JSONObject jsonObject = new org.json.JSONObject(json);
+            org.json.JSONObject jsonObject = getJSONObject(data);
             String type_value = "";
+            String oid="";
             if (jsonObject.has("type")) {
                 type_value = jsonObject.getString("type");
+            }
+            if (jsonObject.has("oid")) {
+                oid = jsonObject.getString("oid");
             }
 
             if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
@@ -65,7 +77,10 @@
                 switch (type_value) {
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
                         //鍒涘缓
-                        HdlResidenceLogic.getInstance().getResidenceList(1, 100, "", "", null);
+                        //eventbus閫氱煡
+                        BaseEventBus baseEventBus = new BaseEventBus();
+                        baseEventBus.setType(ConstantManage.EVENTBUS_POST_HOME_CREATED);
+                        EventBus.getDefault().post(baseEventBus);
 
                     }
                     break;
@@ -86,10 +101,29 @@
                     }
                     break;
                     case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: {
-                        //鑾峰彇璁惧鍒楄〃
+                        //缃戝叧鎼滅储
+                        HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
+                            @Override
+                            public void onSuccess(List<GatewayBean> gatewayBeanList) {
+                                HDLUniMP.UniCallBackBaseBean callBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                                callBackBaseBean.setTopic(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL);
+                                callBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_LIST);
+                                callBackBaseBean.setData(gatewayBeanList);
+                                sendUni(callBackBaseBean);
+                            }
+
+
+                            @Override
+                            public void onError(HDLLinkException e) {
+                                //鍙戦�佸け璐�
+                            }
+                        });
                     }
                     break;
+                    case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND:{
+                        //鍙戦�乵odbus鍗忚
 
+                    }
                 }
 
             } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
@@ -127,7 +161,7 @@
     /**
      * 鍘熺敓鎵撳紑uni鎸囧畾椤甸潰
      *
-     * @param path       鎵撳紑璺緞
+     * @param path       鎵撳紑鍏ㄨ矾寰�
      * @param jsonObject 闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull)
      */
     public void openUniMP(String path, JSONObject jsonObject) {
@@ -141,15 +175,16 @@
      * 鍘熺敓銆愪富鍔ㄣ�戝悜灏忕▼搴忓彂閫侀�氱煡浜嬩欢
      * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
      *
-     * @param topic 涓婚
+     * @param topic 涓婚澶х被
+     * @param type  鍔熻兘绫�
      * @param body  闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull)
      */
-    public void sendUni(String topic, String body) {
+    public void sendUni(String topic, String type, String body) {
         try {
             HDLUniMP.UniCallBackBaseBean callBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
-            callBackBaseBean.setTopic(topic);
+            callBackBaseBean.setType(type);
             callBackBaseBean.setData(body);
-            HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, HDLUniMP.UNI_APP_ID, getJSONObject(callBackBaseBean));
+            HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean));
         } catch (Exception e) {
             HdlLogLogic.print("uni===鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢", e.getMessage());
         }
@@ -204,29 +239,13 @@
             uniCallBackBaseBean.setMes(msg);
             uniCallBackBaseBean.setData(obj);
             if (callback != null) {
-                callback.invoke(uniCallBackBaseBean);
+                callback.invoke(getJSONObject(uniCallBackBaseBean));
             }
         } catch (Exception e) {
             HdlLogLogic.print("uni===缁勮uni鍙戦�佹暟鎹牸寮�", e.getMessage());
         }
 
 
-    }
-
-
-    /**
-     * 鑾峰彇uni鍙戦�佸璞�
-     *
-     * @param obj  闄勫姞鏁版嵁
-     * @param code 鐘舵�佺爜
-     * @param msg  缁撴灉鎻忚堪鐨勪俊鎭�
-     */
-    private HDLUniMP.UniCallBackBaseBean getUniCallBackBaseBean(Object obj, String code, String msg) {
-        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
-        uniCallBackBaseBean.setCode(code);
-        uniCallBackBaseBean.setMes(msg);
-        uniCallBackBaseBean.setData(obj);
-        return uniCallBackBaseBean;
     }
 
     /**
@@ -236,7 +255,14 @@
      */
     private JSONObject getJSONObject(Object obj) {
         try {
+            if (obj == null) {
+                return new JSONObject();
+            }
+            if (TextUtils.isEmpty(obj.toString())) {
+                return new JSONObject();
+            }
             String json = new Gson().toJson(obj);
+
             return new JSONObject(json);
         } catch (Exception e) {
             return new JSONObject();

--
Gitblit v1.8.0