From c1e8d3a7709295a52814378e73a68e1e1fd20da6 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期三, 18 十月 2023 16:47:40 +0800 Subject: [PATCH] 上报oid列表新增parentoid --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java | 64 ++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 28 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 5395316..a14bc66 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,32 @@ 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()); + if (!TextUtils.isEmpty(bean.getOID())) { + HDLLinkConfig.getInstance().setParentOid(bean.getOID()); + } + String ipStr = bean.getIPAddress(); + if (!TextUtils.isEmpty(ipStr)) { + sendAuthenticateRequest(ipStr, request, callBack); + } } - } + } catch (Exception e) { + LogUtils.e("鍏ョ綉楠岃瘉寮傚父", e.getMessage()); + } } }); } @@ -186,6 +199,7 @@ final GatewayInfoRequest request = new GatewayInfoRequest(); AuthenticateRequest.AuthenticateDeviceInfoBean authenticateDeviceInfoBean = HDLLinkConfig.getInstance().getDeviceInfoBean(); + if (authenticateDeviceInfoBean == null) return; request.setDevice_model(authenticateDeviceInfoBean.getDeviceModel()); request.setDevice_mac(authenticateDeviceInfoBean.getDeviceMAC()); request.setDevice_name(authenticateDeviceInfoBean.getDeviceName()); @@ -197,7 +211,9 @@ if (authenticateDeviceInfoBean.getSupplier() == null) { AuthenticateRequest.RequestBean requestBean = HDLLinkConfig.getInstance().getRequestBean(); - request.setSupplier(requestBean.getSupplier()); + if (requestBean != null) { + request.setSupplier(requestBean.getSupplier()); + } } request.setHw_version(authenticateDeviceInfoBean.getHw_version()); @@ -205,6 +221,7 @@ request.setIp_address(authenticateDeviceInfoBean.getIPAddress()); request.setMaster("false"); request.setLocalEncrypt(false); + request.setHomeId(HDLLinkConfig.getInstance().getHomeId()); data.setObjects(request); @@ -213,21 +230,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,20 +261,25 @@ 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()); //鍒ゆ柇缃戝叧鏄惁宸茬粡娉ㄥ唽鍒颁簯绔� - Log.d("panlili", "HDLAuthSocket.java:onSucceed-----> " + localSecret); + Log.d("panlili", "璁よ瘉鎴愬姛----->localSecret= " + localSecret); if (TextUtils.isEmpty(localSecret) && TextUtils.isEmpty(gatewayId)) { //璁よ瘉澶辫触锛岀綉鍏虫湭娉ㄥ唽鍒颁簯绔� callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_AUTH_ERROR_GATEWAY_NOT_REGISTERED)); -- Gitblit v1.8.0