From e7e494c6d168ea2942e1c6fa1c9c7808f4c12184 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期一, 18 九月 2023 13:40:17 +0800
Subject: [PATCH] 完善全局处理模块

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java |   54 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index 595c20b..6a3b624 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -148,19 +148,29 @@
         EventDispatcher.getInstance().register(TopicConstant.GATEWAY_AUTH_BROADCAST, new EventListener() {
             @Override
             public void onMessage(Object msg) {
-                LogUtils.i("鏀跺埌缃戝叧璁よ瘉淇℃伅: ");
-                NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg);
-                if (bean != null) {
-                    //绉婚櫎鐩戝惉
-                    EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
-                    LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress());
-                    HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress());
-                    String ipStr = bean.getIPAddress();
-                    if (!TextUtils.isEmpty(ipStr)) {
-                        sendAuthenticateRequest(ipStr, request, callBack);
+                try {
+                    LogUtils.i("鏀跺埌缃戝叧璁よ瘉淇℃伅: ");
+                    NetworkAccessBroadcastResponse bean = getNetworkAccessBroadcastResponse(msg);
+                    if (bean != null) {
+                        LogUtils.i("缃戝叧鍏ョ綉骞挎挱IP: " + bean.getIPAddress());
+                        if (!TextUtils.isEmpty(bean.getSlave_mac())) {
+                            if (!bean.getSlave_mac().equals(request.getObjects().getDeviceMAC())) {
+                                LogUtils.i("鍏ョ綉楠岃瘉鐨刴ac鍜屾湰鏈轰笉涓�鏍凤紝璇锋眰鐨凪AC鏄�"+bean.getSlave_mac()+" 鏈満鐨勬槸"+request.getObjects().getDeviceMAC());
+                                return;
+                            }
+                        }
+                        //绉婚櫎鐩戝惉
+                        EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
+                        HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress());
+                        String ipStr = bean.getIPAddress();
+                        if (!TextUtils.isEmpty(ipStr)) {
+                            sendAuthenticateRequest(ipStr, request, callBack);
+                        }
                     }
-                }
 
+                }catch (Exception e){
+                    LogUtils.e("鍏ョ綉楠岃瘉寮傚父",e.getMessage());
+                }
             }
         });
     }
@@ -205,6 +215,7 @@
         request.setIp_address(authenticateDeviceInfoBean.getIPAddress());
         request.setMaster("false");
         request.setLocalEncrypt(false);
+        request.setHomeId(HDLLinkConfig.getInstance().getHomeId());
 
         data.setObjects(request);
 
@@ -213,21 +224,7 @@
                 GsonConvert.getGson().toJson(data));
 
         String ip = IpUtils.getBroadcastAddress();
-        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, new HdlSocketHelper.HdlSocketListener() {
-            @Override
-            public void onSucceed(Object msg) {
-                if (callBack == null) return;
-                callBack.onSuccess("涓婃姤鎴愬姛");
-                LogUtils.i("UploadGatewayInfo onSucceed = " + msg);
-            }
-
-            @Override
-            public void onFailure() {
-                if (callBack == null) return;
-                callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UPLOAD_GATEWAYINFO_FAILURE_ERROR));
-                LogUtils.i("UploadGatewayInfo onFailure");
-            }
-        });
+        HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, null);
 
     }
 
@@ -258,16 +255,21 @@
                             String localSecret = "";
                             String gatewayId = "";
                             String ipAddress = "";
+                            String homeId="";
                             if (bean.getAuth() != null) {
                                 localSecret = bean.getAuth().getLocalSecret();
                             }
                             if (bean.getObjects() != null) {
                                 gatewayId = bean.getObjects().getGatewayID();
                                 ipAddress = bean.getObjects().getIPAddress();
+                                homeId=bean.getObjects().getHomeId();
                             }
                             if (ipAddress == null) {
                                 ipAddress = bean.getIp_address();
                             }
+                            if(!TextUtils.isEmpty(homeId)){
+                                HDLLinkConfig.getInstance().setHomeId(homeId);
+                            }
                             HDLLinkConfig.getInstance().setAuthBean(request.getAuth());
 
                             //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔�

--
Gitblit v1.8.0