From 516f68195c0b50438088803e60240c7b90019cb4 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期六, 03 二月 2024 18:28:07 +0800 Subject: [PATCH] 备份代码 --- HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java index 1f50858..a35f93a 100644 --- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java +++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java @@ -158,7 +158,8 @@ } for (GatewayBean gatewayBean : this.getGatewayList()) { if (macAndSid.equals(gatewayBean.getDevice_mac()) - || macAndSid.equals(gatewayBean.getSid())) { + || macAndSid.equals(gatewayBean.getSid()) + || macAndSid.equals(gatewayBean.getOid())) { return gatewayBean; } } @@ -235,7 +236,7 @@ ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() { @Override public void run() { - int count = 5; + int count = 10; while (0 < count--) { try { //鎼滅储缃戝叧 @@ -263,10 +264,11 @@ * * @param callBack 鍥炶皟 */ - public void refreshGateway(GatewayCallBack callBack) { + public void refreshGateway(GatewayCallBack callBack, List<String> spks) { String topicReply = TopicConstant.GATEWAY_SEARCH_REPLY; final List<GatewayBean> tempGatewayBeanList = new ArrayList<>(); - EventListener eventListener = getSearchGatewayEvent(this.getGatewayTypeList(), tempGatewayBeanList); + EventListener eventListener = getSearchGatewayEvent(spks, tempGatewayBeanList); +// EventListener eventListener = getSearchGatewayEvent(this.getGatewayTypeList(), tempGatewayBeanList); EventDispatcher.getInstance().register(topicReply, eventListener); ThreadToolUtils.getInstance().newFixedThreadPool(1).execute(new Runnable() { @Override @@ -364,7 +366,7 @@ if (homeId.equals(gateway.getHomeId()) || (needEmptyHomeIdGateway == true && TextUtils.isEmpty(gateway.getHomeId()))) { //鏇存柊缂撳瓨缃戝叧锛屼細璁板綍鎵�鏈夋敹鍒扮殑缃戝叧锛屼互涓轰簡淇濆瓨缃戝叧鐨処P淇℃伅 updateGatewayList(gatewayBeanList, gateway); - //闈炴悳绱㈢殑缃戝叧绫讳技杩斿洖 + //闈炴悳绱㈢殑缃戝叧绫诲瀷杩斿洖 if (spk.contains(gateway.getGatewayType())) { //鏇存柊褰撳墠璇诲彇缃戝叧鐨勫垪琛紝杩欎釜鍒楄〃姣忔閮芥槸娓呯┖鍐嶈鍙� updateGatewayList(tempGatewayBeanList, gateway); @@ -726,7 +728,7 @@ String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) { GatewayBean gatewayBean = this.getLocalGateway(mac); if (gatewayBean == null) { - callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode)); + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_FOUND_LOCALLY)); return; } String topicSend = topic.replace("%s", gatewayBean.getOid()); @@ -760,6 +762,51 @@ } /** + * 鍙戦�佹暟鎹埌Link缃戝叧 + * + * @param mac 缃戝叧mac + * @param topic 璇锋眰涓婚 + * @param jObject 璐熻浇鏁版嵁<娌℃湁濉玭ull></> + * @param sendPath 鍙戦�佽矾寰�<绫诲悕+鏂规硶鍚�>class->methodName</> + */ + public void sendDataToLinkGateway(String mac, + String topic, Object jObject, String sendPath, HDLLinkCallBack callBack) { + GatewayBean gatewayBean = this.getLocalGateway(mac); + if (gatewayBean == null) { + callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_GATEWAY_FOUND_LOCALLY)); + return; + } + String topicSend = topic.replace("%s", gatewayBean.getOid()); + //缁勮闇�瑕佸彂閫佺殑鏁版嵁 + String sendStr = createSendData(jObject); +// LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鍙戦�乗r\n" + topicSend + "\r\n" + sendStr); + LinkRequest message = new LinkRequest(topicSend, sendStr, gatewayBean.getIsLocalEncrypt()); + message.setCloudTopic(topic.replace("%s", gatewayBean.getGatewayId())); + new HDLConnectHelper(gatewayBean.getIp_address(), message, new HDLConnectHelper.HdlSocketListener() { + @Override + public void onSucceed(Object msg) { + if (callBack == null) return; + try { + JSONObject jsonObject = new JSONObject(new Gson().toJson(msg)); + if (jsonObject.has("data")) { + callBack.onSuccess(jsonObject.getString("data")); + } + } catch (Exception e) { + callBack.onSuccess(e.getMessage()); + } +// LogUtils.i("sendDataToLinkGateway->"+sendPath+"->鏈湴鎺ユ敹鏁版嵁\r\n"+msg.toString()); + } + + @Override + public void onFailure(HDLLinkCode hdlLinkCode) { + if (callBack == null) return; + callBack.onError(HDLLinkException.getErrorWithCode(hdlLinkCode)); +// LogUtils.i("sendDataToLinkGateway->" + sendPath + "->鏈湴鎺ユ敹鏁版嵁->澶辫触(-200)"); + } + }, true, mac).send(); + } + + /** * 缁勮闇�瑕佸彂閫佺殑鏁版嵁 * * @param jObject 璐熻浇鏁版嵁<娌℃湁濉玭ull> -- Gitblit v1.8.0