From 936fb552a30c05fc7a60c20f47bf6fccbc2dc1c1 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 27 十二月 2023 16:17:23 +0800 Subject: [PATCH] 备份一下代码 --- HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/gateway/HDLLinkLocalGateway.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 5 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..1d2fd4b 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 @@ -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