From 50f3ca027bdb84d7ffe45b7b1826fefcdc37fab9 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期一, 09 十二月 2024 16:48:52 +0800 Subject: [PATCH] 2024年12月09日16:48:50 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 408 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 366 insertions(+), 42 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 f3c32c1..9316532 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -11,7 +11,6 @@ import android.location.LocationManager; import android.os.IBinder; import android.os.SystemClock; -import android.print.PageRange; import android.provider.Settings; import android.text.TextUtils; @@ -21,6 +20,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; +import com.hdl.link.error.HDLLinkCode; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.device.bean.DeviceOidInfoBean; import com.hdl.linkpm.sdk.ota.bean.CloudDeviceFirmwaresBean; @@ -31,26 +31,28 @@ import com.hdl.linkpm.sdk.utils.HDLMD5Utils; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.bean.InverterBean; +import com.hdl.photovoltaic.bean.LocalResponse; import com.hdl.photovoltaic.bean.ModBusBean; import com.hdl.photovoltaic.bean.PageNumberObject; import com.hdl.photovoltaic.config.AppConfigManage; -import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; -import com.hdl.photovoltaic.enums.LowerTagType; +import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer; import com.hdl.photovoltaic.internet.TcpClient; -import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.internet.api.TopicApi; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; -import com.hdl.photovoltaic.ui.bean.BUserInfo; import com.hdl.photovoltaic.ui.bean.CUserInfo; import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; +import com.hdl.photovoltaic.ui.bean.DeviceInfoBean; import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; import com.hdl.photovoltaic.ui.bean.Geolocation; import com.hdl.photovoltaic.ui.bean.HouseIdBean; +import com.hdl.photovoltaic.ui.bean.HouseInfoBean; import com.hdl.photovoltaic.ui.bean.LinkBean; import com.hdl.photovoltaic.ui.bean.MemberBean; +import com.hdl.photovoltaic.ui.bean.NotRunBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.ui.bean.StaffBean; import com.hdl.photovoltaic.ui.bean.UnCountBean; @@ -64,7 +66,6 @@ import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.NetworkUtils; import com.hdl.photovoltaic.utils.WifiUtils; -import com.hdl.sdk.link.common.exception.HDLLinkCode; import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; @@ -72,12 +73,13 @@ import com.hdl.sdk.link.core.callback.GatewayCallBack; import com.hdl.sdk.link.core.callback.HDLLinkCallBack; import com.hdl.sdk.link.core.callback.ModbusCallBack; +import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.core.connect.HDLModBusConnect; import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; -import com.huawei.hms.api.Api; import org.greenrobot.eventbus.EventBus; +import org.json.JSONArray; import org.json.JSONObject; @@ -94,7 +96,6 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicInteger; -import io.dcloud.feature.sdk.DCUniMPSDK; import io.dcloud.feature.unimp.DCUniMPJSCallback; import okhttp3.ResponseBody; @@ -163,7 +164,17 @@ jsonObject.addProperty("user_name", UserConfigManage.getInstance().getUserName()); jsonObject.addProperty("user_image_url", UserConfigManage.getInstance().getUserImageUrl()); jsonObject.addProperty("user_account", UserConfigManage.getInstance().getAccount()); + + jsonObject.addProperty("token", HDLLinkPMUser.getInstance().getAccessToken()); + jsonObject.addProperty("refreshToken", HDLLinkPMUser.getInstance().getRefreshToken()); + if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) { + AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl()); + } + jsonObject.addProperty("serverAddress", AppConfigManage.getUserRegionUrl()); + jsonObject.addProperty("appKey", AppConfigManage.getAppKey()); + jsonObject.addProperty("appSecret", AppConfigManage.getAppSecret()); uniSuccessCallback(mode_type, jsonObject, callback); + HdlLogLogic.print("鑾峰彇鐢ㄦ埛鏈湴缂撳瓨淇℃伅---->>>" + jsonObject.toString()); } break; } @@ -175,10 +186,7 @@ case HDLUniMP.UNI_EVENT_REPLY_HOME_ADD: { String url = getKeyValue("url", getKeyValue("data", data)); //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBusSticky( - HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, - HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, - url); + HdlCommonLogic.getInstance().postEventBusSticky(HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, HDLUniMP.UNI_EVENT_REPLY_HOME_ADD, url); if (callback != null) { uniSuccessCallback(type, null, callback); @@ -195,10 +203,7 @@ //鍒涘缓鐢电珯 case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBus( - HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, - HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, - getKeyValue("data", data)); + HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION, getKeyValue("data", data)); if (callback != null) { uniSuccessCallback(type, null, callback); } @@ -233,10 +238,7 @@ //浣忓畢銆愮數绔欍�戠紪杈� case HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT: { //EventBus浜嬩欢鍒嗗彂 - HdlCommonLogic.getInstance().postEventBus( - HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, - HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, - getKeyValue("data", data)); + HdlCommonLogic.getInstance().postEventBus(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL, HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT, getKeyValue("data", data)); if (callback != null) { uniSuccessCallback(type, null, callback); } @@ -246,6 +248,12 @@ case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURLQRCODE: { uniGetDeliveryUrlQrcode(type, data, callback); } + break; + //鐢电珯鐨勪氦浠楿RL(瀹夎鍟�) + case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURL: { + uniGetDeliveryUrl(type, data, callback); + } + break; //鐢电珯鎵嬪姩浜や粯(瀹夎鍟�) case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERTOACCOUNT: { @@ -259,7 +267,6 @@ } break; - } @@ -349,6 +356,26 @@ //璁惧鍚嶇О淇敼(淇敼鏄簯绔痮id鍚嶇О锛岃澶囦娇鐢╩odbus鍗忚淇敼) case HDLUniMP.UNI_EVENT_REPLY_DEVICE_EDIT_NAME: { this.uniOidEditName(mode_type, data, callback); + } + break; + //鑾峰彇鏈繍琛岄�嗗彉鍣ㄥ垪琛� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_NOT_RUN_DEVICE_LIST: { + this.uniGetListNotRun(mode_type, data, callback); + } + break; + //蹇嵎寮�鍚�嗗彉鍣� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_LIST: { + this.uniSetDeviceStartup(mode_type, data, callback); + } + break; + //鑾峰彇璁惧璇︽儏锛堜簯绔澶囷級 + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_DEVICE_info: { + this.uniGetDeviceInfo(mode_type, data, callback); + } + break; + //鑾峰彇閫嗗彉鍣ㄨ鎯咃紙鐗╃悊璁惧锛� + case HDLUniMP.UNI_EVENT_REPLY_DEVICE_OPEN_gateway_info: { + this.uniGetGatewayInfo(mode_type, data, callback); } break; } @@ -510,9 +537,17 @@ break; //娑堟伅涓績 case HDLUniMP.UNI_EVENT_REPLY_MINE_MESSAGE_CENTER: { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String isShowFault = getKeyValue("isShowFault", getKeyValue("data", data)); Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setClass(HDLApp.getInstance(), MessageCenterList.class); + if (!TextUtils.isEmpty(homeId)) { + intent.putExtra("homeId", homeId); + } + if (!TextUtils.isEmpty(isShowFault)) { + intent.putExtra("isShowFault", isShowFault); + } HDLApp.getInstance().startActivity(intent); } break; @@ -645,6 +680,119 @@ HDLLinkPMUser.getInstance().logout(0); } break; + //鏈湴瀵嗛挜鑾峰彇 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOCAL_ENCRYPT_GET: { + String localSecret = HDLLinkConfig.getInstance().getLocalSecret(); + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("local_encrypt", localSecret); + HdlLogLogic.print("uni---log---鏈湴瀵嗛挜鑾峰彇---" + localSecret, true); + if (callback != null) { + uniSuccessCallback(type, jsonObject, callback); + } + + } + break; + //鏈湴瀵嗛挜璁剧疆 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOCAL_ENCRYPT_SET: { + String local_encrypt = getKeyValue("local_encrypt", getKeyValue("data", data)); + if (!TextUtils.isEmpty(local_encrypt)) { + //閲嶆柊璁剧疆鏈湴閫氳绉橀挜 + UserConfigManage.getInstance().setLocalSecret(local_encrypt); + UserConfigManage.getInstance().Save(); + //閰嶇疆鏈湴閫氫俊鐨勪俊鎭� + HDLLinkConfig.getInstance().setLocalSecret(local_encrypt); + HdlLogLogic.print("uni---log---鏈湴瀵嗛挜璁剧疆---" + local_encrypt, true); + } + if (callback != null) { + uniSuccessCallback(type, true, callback); + } + } + break; + //link杩涜瀵嗙爜楠岃瘉 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_PASSWORD_VERIFIY: { + uniCheckPasswordVerification(mode_type, data, callback); + } + break; + //鏈湴json璧勬簮鏂囦欢鑾峰彇 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_GET_LOCAL_JSON: { + String url = getKeyValue("url", getKeyValue("data", data)); + String deviceModel = getKeyValue("deviceModel", getKeyValue("data", data)); + String language = getKeyValue("language", getKeyValue("data", data)); + String json = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(url, deviceModel); + if (TextUtils.isEmpty(json)) { + //鏈湴娌℃湁缂撳瓨 + HdlESLocalJsonLogic.getInstance().getHdlESLocalJson(url, deviceModel, new CloudCallBeak<String>() { + @Override + public void onSuccess(String obj) { +// if (callback != null) { +// uniSuccessCallback(type, obj, callback); +// } + String s = HdlESLocalJsonLogic.getInstance().readHdlESLocalJson(url, deviceModel); + //鏈湴缂撳瓨鏁版嵁 + if (callback != null) { + try { + if (s.startsWith("{")) { + uniSuccessCallback(type, new Gson().fromJson(s, JsonObject.class), callback); + } else if (s.startsWith("[")) { + uniSuccessCallback(type, new Gson().fromJson(s, JsonArray.class), callback); + } else { + uniSuccessCallback(type, s, callback); + } + } catch (Exception e) { + uniSuccessCallback(type, s, callback); + } + } + } + + @Override + public void onFailure(HDLException e) { + if (callback != null) { + uniExceptionCallback(type, e, callback); + } + } + }); + } else { + //鏈湴缂撳瓨鏁版嵁 + if (callback != null) { + try { + if (json.startsWith("{")) { + uniSuccessCallback(type, new Gson().fromJson(json, JsonObject.class), callback); + } else if (json.startsWith("[")) { + uniSuccessCallback(type, new Gson().fromJson(json, JsonArray.class), callback); + } else { + uniSuccessCallback(type, json, callback); + } + } catch (Exception e) { + uniSuccessCallback(type, json, callback); + } + } + } + } + break; + } + } else if (HDLUniMP.UNI_EVENT_REPLY_COMMON_MODEL.equals(topic)) { + //缃戠粶璇锋眰妯″潡 + if (type.equals(HDLUniMP.UNI_EVENT_REPLY_UNI_SEND_TO_CLOUD)) { + String url = getKeyValue("url", getKeyValue("data", data)); + JsonObject jObject = new JsonObject(); + String body = getKeyValue("body", getKeyValue("data", data)); + if (!TextUtils.isEmpty(body)) { + try { + jObject = new Gson().fromJson(body, JsonObject.class); + } catch (Exception ignored) { + } + } + HttpClient.getInstance().requestHttp(url, jObject.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + uniSuccessCallback(mode_type, jsonStr, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(mode_type, e, callback); + } + }); } } @@ -693,6 +841,31 @@ //region ******uni鎺ュ彛鏂规硶****** /** + * link杩涜瀵嗙爜楠岃瘉 + */ + private void uniCheckPasswordVerification(String type, Object data, DCUniMPJSCallback callback) { + String password = getKeyValue("password", getKeyValue("data", data)); + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getPasswordVerification(mac, password, new LinkCallBack<LocalResponse>() { + @Override + public void onSuccess(LocalResponse obj) { + + if (callback != null) { + uniCallbackData(type, obj.getObjects(), obj.getCode(), obj.getMsg(), callback); + } + } + + @Override + public void onError(HDLLinkException e) { + + if (callback != null) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + } + }); + } + + /** * 鐢电珯鍒犻櫎 */ private void uniGetDelResidence(String type, Object data, DCUniMPJSCallback callback) { @@ -727,7 +900,7 @@ HdlUniLogic.getInstance().openUniMP(path, null); } else { HouseIdBean houseIdBean = HouseIdList.get(0);//榛樿鎷跨涓�涓� - HdlResidenceLogic.getInstance().switchHouse(houseIdBean); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("homeId", houseIdBean.getHomeId()); jsonObject.addProperty("homeName", houseIdBean.getHomeName()); @@ -802,6 +975,25 @@ private void uniGetDeliveryUrlQrcode(String type, Object data, DCUniMPJSCallback callback) { String homeId = getKeyValue("homeId", getKeyValue("data", data)); HdlResidenceLogic.getInstance().getDeliveryUrlQrcode(homeId, new CloudCallBeak<String>() { + @Override + public void onSuccess(String obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + + } + + /** + * 鐢电珯鐨勪氦浠楿Rl(瀹夎鍟�) + */ + private void uniGetDeliveryUrl(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + HdlResidenceLogic.getInstance().getDeliveryUrl(homeId, new CloudCallBeak<String>() { @Override public void onSuccess(String obj) { uniSuccessCallback(type, obj, callback); @@ -1177,7 +1369,9 @@ */ private void uniGetCurrentDeviceFirmwares(String type, Object data, DCUniMPJSCallback callback) { String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//浜戠涓婅澶噄d - HdlOtaLogic.getInstance().getCurrentDeviceFirmwares(deviceOidId, new CloudCallBeak<List<DeviceFirmwareBean>>() { + String oid = getKeyValue("oid", getKeyValue("data", data));//璁惧oid + String homeId = getKeyValue("homeId", getKeyValue("data", data));//鐢电珯id + HdlOtaLogic.getInstance().getCurrentDeviceFirmwares(deviceOidId, oid, homeId, new CloudCallBeak<List<DeviceFirmwareBean>>() { @Override public void onSuccess(List<DeviceFirmwareBean> obj) { uniSuccessCallback(type, obj, callback); @@ -1428,7 +1622,8 @@ */ private void uniGetCurrentGatewayDrivers(String type, Object data, DCUniMPJSCallback callback) { String deviceOid = getKeyValue("oid", getKeyValue("data", data)); - HdlOtaLogic.getInstance().getCurrentGatewayDrivers(deviceOid, new CloudCallBeak<List<GatewayDriverBean>>() { + String homeId = getKeyValue("homeId", getKeyValue("data", data));//鐢电珯id + HdlOtaLogic.getInstance().getCurrentGatewayDrivers(deviceOid, homeId, new CloudCallBeak<List<GatewayDriverBean>>() { @Override public void onSuccess(List<GatewayDriverBean> obj) { uniSuccessCallback(type, obj, callback); @@ -1757,21 +1952,29 @@ if (cUserInfo == null) { return; } - UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); - UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); - UserConfigManage.getInstance().Save(); + //鑾峰彇鐢ㄦ埛澶村儚璺緞 if (cUserInfo.getMemberHeadIcon().contains("http")) { - UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); //鏇存柊鐢ㄦ埛澶村儚 uniSuccessCallback(type, cUserInfo, callback); + UserConfigManage.getInstance().setUserName(cUserInfo.getMemberName()); + UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); + UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); + UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); + UserConfigManage.getInstance().Save(); + HdlLogLogic.print("澶村儚璺緞---->>>" + cUserInfo.getMemberHeadIcon()); } else { HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() { @Override public void onSuccess(String url) { cUserInfo.setMemberHeadIcon(url); - UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); uniSuccessCallback(type, cUserInfo, callback); + UserConfigManage.getInstance().setUserName(cUserInfo.getMemberName()); + UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); + UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); + UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); + UserConfigManage.getInstance().Save(); + HdlLogLogic.print("澶村儚璺緞---->>>" + cUserInfo.getMemberHeadIcon()); } @Override @@ -2030,6 +2233,22 @@ @Override public void onFailure(HDLException e) { + //娣诲姞閫嗗彉鍣ㄥけ璐ュ悗鍒濆鍖栭�嗗彉鍣� + HdlLogLogic.print("娣诲姞閫嗗彉鍣ㄥけ璐ュ悗寮�濮嬪垵濮嬪寲閫嗗彉鍣�-->", true); + for (int i = 0; i < list.size(); i++) { + GatewayBean gatewayBean = list.get(i); + HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄦ垚鍔�-->mac:" + gatewayBean.getDevice_mac(), true); + } + + @Override + public void onError(HDLLinkException e) { + HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄥけ璐�-->mac:" + gatewayBean.getDevice_mac(), true); + } + }); + } uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); } }); @@ -2082,7 +2301,25 @@ @Override public void onFailure(HDLException e) { - uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + if (e.getCode() == 121005) { + //璁惧涓嶅瓨鍦紙121005锛夌姸鎬佺爜 + //鍒濆鍖栭�嗗彉鍣ㄨ澶� + HdlDeviceLogic.getInstance().initializeInverter(mac, new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + //绉婚櫎鏈湴缂撳瓨 + HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToDeviceId(homeId, deviceId); + uniSuccessCallback(type, null, callback); + } + + @Override + public void onError(HDLLinkException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } else { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } } }); } @@ -2122,19 +2359,14 @@ HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() { @Override public void onSuccess(List<GatewayBean> list) { - if (list == null || list.size() == 0) { - if (callback != null) { - uniSuccessCallback(type, list, callback); - } - return; - } if (callback != null) { uniSuccessCallback(type, list, callback); } //EventBus浜嬩欢鍒嗗彂,杩涘叆浣忓畢寮�濮嬭闃呬富棰� BaseEventBus baseEventBus = new BaseEventBus(); + baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST); - baseEventBus.setData(list); + baseEventBus.setData(homeId); EventBus.getDefault().post(baseEventBus); //杩涙潵浣忓畢璇︽儏閮借涓婁紶涓�娆id鍒楄〃鍒颁簯绔�; HdlDeviceLogic.getInstance().uploadOidDataToCloud(homeId, list, false, null); @@ -2302,7 +2534,7 @@ /** * 鍒濆鍖栭�嗗彉鍣� * - * @param type 璐﹀彿 + * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 * @param callback uni鍥炶皟 */ @@ -2324,7 +2556,7 @@ /** * 鍒濆鍖栭�嗗彉鍣� * - * @param type 璐﹀彿 + * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 * @param callback uni鍥炶皟 */ @@ -2371,7 +2603,7 @@ /** * 淇敼璁惧鍚嶇О閫嗗彉鍣˙MS鐢垫睜鍖� * - * @param type 璐﹀彿 + * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 * @param callback uni鍥炶皟 */ @@ -2388,6 +2620,98 @@ @Override public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 鑾峰彇鏈繍琛岄�嗗彉鍣ㄥ垪琛� + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniGetListNotRun(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getListNotRun(homeId, new CloudCallBeak<List<NotRunBean>>() { + @Override + public void onSuccess(List<NotRunBean> obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 閫嗗彉鍣ㄥ紑鏈� + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniSetDeviceStartup(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String aryJson = getKeyValue("deviceIds", getKeyValue("data", data)); + JsonArray jsonArray = new Gson().fromJson(aryJson, JsonArray.class); + HdlDeviceLogic.getInstance().setDeviceStartup(homeId, jsonArray, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 鑾峰彇璁惧璇︽儏锛堜簯绔級 + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniGetDeviceInfo(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String aryJson = getKeyValue("deviceIds", getKeyValue("data", data)); + JsonArray jsonArray = new Gson().fromJson(aryJson, JsonArray.class); + HdlDeviceLogic.getInstance().getDeviceInfo(homeId, jsonArray, new CloudCallBeak<List<DeviceInfoBean>>() { + @Override + public void onSuccess(List<DeviceInfoBean> list) { + uniSuccessCallback(type, list, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 鑾峰彇閫嗗彉鍣ㄨ鎯� + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniGetGatewayInfo(String type, Object data, DCUniMPJSCallback callback) { + String mac = getKeyValue("mac", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().getGatewayInfo(mac, new LinkCallBack<InverterBean>() { + @Override + public void onSuccess(InverterBean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onError(HDLLinkException e) { uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); } }); @@ -2465,8 +2789,8 @@ } if (isTokenAndRefreshToken) { //灏忕▼搴忛偅閲屾湁鑷繁鐨勮姹傛柟娉�,浣嗛渶瑕佸師鐢熸彁渚涜繖浜涙暟鎹� - data.put("token", UserConfigManage.getInstance().getToken()); - data.put("refreshToken", UserConfigManage.getInstance().getRefreshToken()); + data.put("token", HDLLinkPMUser.getInstance().getAccessToken()); + data.put("refreshToken", HDLLinkPMUser.getInstance().getRefreshToken()); if (TextUtils.isEmpty(AppConfigManage.getUserRegionUrl())) { AppConfigManage.setUserRegionUrl(HDLLinkPMUser.getInstance().getUserRegionUrl()); } -- Gitblit v1.8.0