From 6e418105015e0ca91fe2240bb4a3584fd165ddd7 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 10 十月 2023 17:28:23 +0800 Subject: [PATCH] 2023年10月10日17:28:19 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 410 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 271 insertions(+), 139 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 491e3f0..49db1bd 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -113,90 +113,22 @@ switch (type) { //娣诲姞閫嗗彉鍣ㄥ埌浜戠 case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: { - String mac = getKeyValue("mac", getKeyValue("data", data)); - HdlDeviceLogic.getInstance().setGatewayRemoteParam(mac, new LinkCallBack<Boolean>() { - @Override - public void onSuccess(Boolean obj) { - HdlDeviceLogic.getInstance().editGatewayParam(mac, new LinkCallBack<Boolean>() { - @Override - public void onSuccess(Boolean obj) { - GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac); - if (gatewayBean == null) { - uniCallbackData(null, -100, "鏈湴鎵句笉鍒扮綉鍏�", callback); - return; - } - HdlDeviceLogic.getInstance().addInverterDeviceToCloud(mac, - gatewayBean.getGatewayType(), - gatewayBean.getSid(), - gatewayBean.getOid(), - gatewayBean.getDevice_name(), - new CloudCallBeak<Boolean>() { - @Override - public void onSuccess(Boolean obj) { - uniCallbackData(null, callback); - } + this.uniAddInverterDeviceToCloud(data, callback); - @Override - public void onFailure(HDLException e) { - uniCallbackData(null, -100, e.getMessage(), callback); - } - }); - } - - @Override - public void onError(HDLLinkException e) { - uniCallbackData(null, -100, e.getMessage(), callback); - } - }); - } - - @Override - public void onError(HDLLinkException e) { - uniCallbackData(null, -100, e.getMessage(), callback); - } - }); - - + } + //鍒犻櫎浜戠閫嗗彉鍣� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_DEL: { + this.uniDelInverterDevice(data, callback); } break; //灞�鍩熺綉鎼滅储閫嗗彉鍣ㄥ垪琛� case HDLUniMP.UNI_EVENT_REPLY_DEVICE_NET_LIST: { - HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() { - @Override - public void onSuccess(List<GatewayBean> gatewayBeanList) { - uniCallbackData(gatewayBeanList, callback); - } - - @Override - public void onError(HDLLinkException e) { - //鍙戦�佸け璐� - uniCallbackData(null, e.getCode(), "", callback); - } - }); + this.uniSearchGateway(callback); } break; //鑾峰彇閫嗗彉鍣ㄥ垪琛� case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: { - HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(new CloudCallBeak<List<GatewayBean>>() { - @Override - public void onSuccess(List<GatewayBean> list) { - if (callback != null) { - uniCallbackData(list, callback); - //EventBus浜嬩欢鍒嗗彂 - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); - baseEventBus.setData(list); - EventBus.getDefault().post(baseEventBus); - } - } - - @Override - public void onFailure(HDLException e) { - if (callback != null) { - uniCallbackData(null, -2, e.getMessage(), callback); - } - } - }); + this.uniGetCurrentHomeLocalAndCloudGatewayList(callback); } break; case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND: { @@ -206,43 +138,28 @@ break; //鑾峰彇oid鍒楄〃 case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OID: { - - String mac = getKeyValue("mac", getKeyValue("data", data)); - HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() { - @Override - public void onSuccess(List<OidBean> list) { - if (callback != null) { - uniCallbackData(list, callback); - } - } - - @Override - public void onError(HDLLinkException e) { - uniCallbackData(null, -2, e.getMsg(), callback); - } - }); + this.uniGetInverterOidList(data, callback); } break; //閫嗗彉鍣ㄦ椂闂磋鍙� case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME: { - String mac = getKeyValue("mac", getKeyValue("data", data)); - HdlDeviceLogic.getInstance().getGatewayTime(mac, new LinkCallBack<Boolean>() { - @Override - public void onSuccess(Boolean obj) { - - } - - @Override - public void onError(HDLLinkException e) { - - } - }); + this.uniGetInverterTime(data, callback); } + break; //閫嗗彉鍣ㄦ椂闂寸紪杈� case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME_EDIT: { - String mac = getKeyValue("mac", getKeyValue("data", data)); - HdlDeviceLogic.getInstance().editGatewayTime(mac, new JsonObject(), null); + this.uniEditInverterTime(data, callback); + } + break; + //閫嗗彉鍣ㄤ笂浼犳暟鎹埌浜戠 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_UPLOADING_DATA: { + this.uniUploadDataToCloud(data, callback); + } + break; + //閫嗗彉鍣ㄦ竻绌轰綇瀹卛d + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_CLEAR_DATA: { + this.uniClearInverterHomeId(data, callback); } break; @@ -280,6 +197,256 @@ } } + + + /** + * 鍘熺敓鎵撳紑uni鎸囧畾椤甸潰 + * + * @param path 鎵撳紑璺緞 + * @param jsonObject 闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull) + */ + public void openUniMP(String path, JSONObject jsonObject) { + + JSONObject json = this.createdJsonDate(jsonObject, true); + HdlLogLogic.print("uni===缁勮uni鍙戦�佹暟鎹牸寮�", json.toString()); + HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, HdlUniLogic.this); + } + + /** + * 鍘熺敓銆愪富鍔ㄣ�戝悜灏忕▼搴忓彂閫侀�氱煡浜嬩欢 + * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔� + * + * @param topic 涓婚澶х被(濡�:UNI_EVENT_REPLY_HOME_MODEL) + * @param callBackBaseBean 鈥斺�� + */ + public void sendUni(String topic, HDLUniMP.UniCallBackBaseBean callBackBaseBean) { + try { + HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean)); + } catch (Exception e) { + HdlLogLogic.print("uni===鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢", e.getMessage()); + } + } + + /** + * 妫�娴嬫槸鍚﹀綋鍓嶉〉闈㈡敞鍐岀殑callback,鏄殑璇濆垯绉婚櫎 + */ + public void checkRemoveOtherUniMPEventCallBack() { + HDLUniMPSDKManager.getInstance().checkRemoveOtherUniMPEventCallBack(this); + } + //endregion + + //region ******uni閫昏緫鏂规硶****** + + /** + * 閫嗗彉鍣ㄦ竻绌轰綇瀹卛d + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniClearInverterHomeId(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().clearInverterHomeId(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniCallbackData(null, callback); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(null, -100, e.getMessage(), callback); + } + }); + } + + /** + * 閫嗗彉鍣ㄤ笂浼犳暟鎹埌浜戠 + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniUploadDataToCloud(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().uploadDataToCloud(mac, null); + } + + /** + * 缂栬緫閫嗗彉鍣ㄦ椂闂� + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniEditInverterTime(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().editGatewayTime(mac, new JsonObject(), null); + } + + /** + * 鑾峰彇閫嗗彉鍣ㄦ椂闂� + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniGetInverterTime(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getGatewayTime(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + + } + + @Override + public void onError(HDLLinkException e) { + + } + }); + } + + /** + * 鑾峰彇oid鍒楄〃 + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniGetInverterOidList(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getInverterOidList(mac, new LinkCallBack<List<OidBean>>() { + @Override + public void onSuccess(List<OidBean> list) { + if (callback != null) { + uniCallbackData(list, callback); + } + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(null, -2, e.getMsg(), callback); + } + }); + } + + /** + * 閫嗗彉鍣ㄦ坊鍔犲埌浜戠涓� + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniAddInverterDeviceToCloud(Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().setGatewayRemoteParam(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + HdlDeviceLogic.getInstance().editGatewayParam(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac); + if (gatewayBean == null) { + uniCallbackData(null, -100, "鏈湴鎵句笉鍒扮綉鍏�", callback); + return; + } + HdlDeviceLogic.getInstance().addInverterDeviceToCloud(mac, + gatewayBean.getGatewayType(), + gatewayBean.getSid(), + gatewayBean.getOid(), + gatewayBean.getDevice_name(), + new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniCallbackData(null, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(null, -100, e.getMessage(), callback); + } + }); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(null, -100, e.getMessage(), callback); + } + }); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(null, -100, e.getMessage(), callback); + } + }); + } + + /** + * 閫嗗彉鍣ㄦ坊鍔犲埌浜戠涓� + * + * @param data uni鏁版嵁 + * @param callback uni鍥炶皟 + */ + private void uniDelInverterDevice(Object data, DCUniMPJSCallback callback) { + String deviceId = getKeyValue("deviceId", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().delInverterDevice(deviceId, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniCallbackData(null, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(null, -100, e.getMessage(), callback); + } + }); + } + + + /** + * 灞�鍩熺綉鎼滅储閫嗗彉鍣ㄥ垪琛� + * + * @param callback uni鍥炶皟 + */ + private void uniSearchGateway(DCUniMPJSCallback callback) { + HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() { + @Override + public void onSuccess(List<GatewayBean> gatewayBeanList) { + uniCallbackData(gatewayBeanList, callback); + } + + @Override + public void onError(HDLLinkException e) { + //鍙戦�佸け璐� + uniCallbackData(null, e.getCode(), "", callback); + } + }); + + } + + /** + * 鑾峰彇閫嗗彉鍣ㄥ垪琛� + * + * @param callback uni鍥炶皟 + */ + private void uniGetCurrentHomeLocalAndCloudGatewayList(DCUniMPJSCallback callback) { + HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> list) { + if (callback != null) { + uniCallbackData(list, callback); + //EventBus浜嬩欢鍒嗗彂 + BaseEventBus baseEventBus = new BaseEventBus(); + baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); + baseEventBus.setData(list); + EventBus.getDefault().post(baseEventBus); + } + } + + @Override + public void onFailure(HDLException e) { + if (callback != null) { + uniCallbackData(null, -2, e.getMessage(), callback); + } + } + }); + + } + /** * 鍙戦�乵odbus鍗忚鏁版嵁 @@ -321,42 +488,7 @@ }); } - /** - * 鍘熺敓鎵撳紑uni鎸囧畾椤甸潰 - * - * @param path 鎵撳紑璺緞 - * @param jsonObject 闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull) - */ - public void openUniMP(String path, JSONObject jsonObject) { - - JSONObject json = this.createdJsonDate(jsonObject, true); - HdlLogLogic.print("uni===缁勮uni鍙戦�佹暟鎹牸寮�", json.toString()); - HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, HdlUniLogic.this); - } - - /** - * 鍘熺敓銆愪富鍔ㄣ�戝悜灏忕▼搴忓彂閫侀�氱煡浜嬩欢 - * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔� - * - * @param topic 涓婚澶х被(濡�:UNI_EVENT_REPLY_HOME_MODEL) - * @param callBackBaseBean 鈥斺�� - */ - public void sendUni(String topic, HDLUniMP.UniCallBackBaseBean callBackBaseBean) { - try { - HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean)); - } catch (Exception e) { - HdlLogLogic.print("uni===鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢", e.getMessage()); - } - } - - /** - * 妫�娴嬫槸鍚﹀綋鍓嶉〉闈㈡敞鍐岀殑callback,鏄殑璇濆垯绉婚櫎 - */ - public void checkRemoveOtherUniMPEventCallBack() { - HDLUniMPSDKManager.getInstance().checkRemoveOtherUniMPEventCallBack(this); - } //endregion - //region ******涓�鑸柟娉�****** -- Gitblit v1.8.0