From 37883963f4dbb613834bc8dbaf9b296848f16187 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 25 十月 2024 14:17:06 +0800 Subject: [PATCH] 2024年10月25日14:17:04 --- app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 912 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 817 insertions(+), 95 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 e66c575..fc9a55e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -10,6 +10,7 @@ import android.location.Location; import android.location.LocationManager; import android.os.IBinder; +import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; @@ -29,24 +30,31 @@ import com.hdl.linkpm.sdk.utils.HDLMD5Utils; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; +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.UserConfigManage; 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.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.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; +import com.hdl.photovoltaic.ui.bean.UserRightTypeBean; import com.hdl.photovoltaic.ui.me.AsRegardsActivity; -import com.hdl.photovoltaic.ui.me.PersonalDataActivity; +import com.hdl.photovoltaic.ui.me.CPersonalDataActivity; import com.hdl.photovoltaic.ui.me.SetActivity; import com.hdl.photovoltaic.ui.newC.MessageCenterList; import com.hdl.photovoltaic.ui.newC.PowerStationsListEdit; @@ -62,10 +70,10 @@ 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.JSONObject; @@ -152,7 +160,17 @@ jsonObject.addProperty("user_name", UserConfigManage.getInstance().getUserName()); jsonObject.addProperty("user_image_url", UserConfigManage.getInstance().getUserImageUrl()); jsonObject.addProperty("user_account", UserConfigManage.getInstance().getAccount()); - uniCallbackData(mode_type, jsonObject, callback); + + 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; } @@ -160,45 +178,88 @@ } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) { //浣忓畢妯″潡 switch (type) { + //鎵爜娣诲姞鐢电珯 + 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); + + if (callback != null) { + uniSuccessCallback(type, null, callback); + } + } + break; + //璐﹀彿涓嬫槸鍚︽湁鐢电珯鍒楄〃 + case HDLUniMP.UNI_EVENT_REPLY_HOME_LIST: { + if (callback != null) { + uniSuccessCallback(type, HdlResidenceLogic.getInstance().getHouseIdList().size(), callback); + } + } + break; //鍒涘缓鐢电珯 case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: { //EventBus浜嬩欢鍒嗗彂 - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL); - baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION); - baseEventBus.setData(getKeyValue("data", data)); - EventBus.getDefault().post(baseEventBus); + 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); + } } + break; //璇诲彇璇︽儏 case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: { - + if (callback != null) { + uniSuccessCallback(type, null, callback); + } + } + break; + //鐢电珯鍒犻櫎 + case HDLUniMP.UNI_EVENT_REPLY_HOME_DEl: { + this.uniGetDelResidence(mode_type, data, callback); } break; //鍏抽棴璇︽儏椤� case HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE: { //EventBus浜嬩欢鍒嗗彂 - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE); - baseEventBus.setData(getKeyValue("data", data)); - EventBus.getDefault().post(baseEventBus); + // todo 鍦℉DLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀劧鍚庡彂甯冭皟鐢‥ventBus鍙戝竷鍑哄幓; +// HdlCommonLogic.getInstance().postEventBus( +// HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE, +// LowerTagType.power_station.toString(), +// getKeyValue("data", data)); + if (callback != null) { + uniSuccessCallback(type, null, callback); + } } break; //浣忓畢銆愮數绔欍�戠紪杈� case HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT: { //EventBus浜嬩欢鍒嗗彂 - BaseEventBus baseEventBus = new BaseEventBus(); - baseEventBus.setTopic(HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL); - baseEventBus.setType(HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT); - baseEventBus.setData(getKeyValue("data", data)); - EventBus.getDefault().post(baseEventBus); + 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); + } + } + break; + //鐢电珯鐨勪氦浠樹簩缁寸爜(瀹夎鍟�) + case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERYURLQRCODE: { + uniGetDeliveryUrlQrcode(type, data, callback); + } + break; + //鐢电珯鎵嬪姩浜や粯(瀹夎鍟�) + case HDLUniMP.UNI_EVENT_REPLY_HOME_DELIVERTOACCOUNT: { + uniGetDeliverToAccount(type, data, callback); + + } + break; + //鐢电珯鎺堟潈瀹夎鍟�(C绔�) + case HDLUniMP.UNI_EVENT_REPLY_HOME_UPDATEDEBUGPERM: { + uniHomeUpdateDebugPerm(type, data, callback); + } break; } - if (callback != null) { - uniCallbackData(type, null, callback); - } + } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(topic)) { //璁惧妯″潡 switch (type) { @@ -282,7 +343,26 @@ this.setInverterDeviceRemoteInfo(mode_type, data, callback); } break; - + //璁惧鍚嶇О淇敼(淇敼鏄簯绔痮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; } } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) { @@ -292,14 +372,14 @@ //鑾峰彇鎵嬫満wifi鍒楄〃 case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_LIST: { if (callback != null) { - uniCallbackData(mode_type, wifiUtils.getScanResult(), callback); + uniSuccessCallback(mode_type, wifiUtils.getScanResult(), callback); } } break; //鑾峰彇鎵嬫満褰撳墠wifi璇︽儏 case HDLUniMP.UNI_EVENT_REPLY_PHONE_WIFI_INFO: { if (callback != null) { - uniCallbackData(mode_type, wifiUtils.getCurrentConnectWifiInfo(), callback); + uniSuccessCallback(mode_type, wifiUtils.getCurrentConnectWifiInfo(), callback); } } break; @@ -428,7 +508,7 @@ case HDLUniMP.UNI_EVENT_REPLY_MINE_EDIT_USER_INFO: { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.setClass(HDLApp.getInstance(), PersonalDataActivity.class); + intent.setClass(HDLApp.getInstance(), CPersonalDataActivity.class); HDLApp.getInstance().startActivity(intent); } break; @@ -442,9 +522,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; @@ -465,6 +553,71 @@ } break; + //涓嬭浇鎴愬憳锛堝瓙璐﹀彿锛夊ご鍍� + case HDLUniMP.UNI_EVENT_REPLY_DOWNLOAD_MEMBER_AVATAR: { + uniGetHeadPIortrait(type, data, callback); + + } + break; + //鎴愬憳鍒楄〃 + case HDLUniMP.UNI_EVENT_REPLY_MEMBER_LIST: { + uniGetMemberList(type, data, callback); + } + break; + //鎴愬憳娣诲姞 + case HDLUniMP.UNI_EVENT_REPLY_MEMBER_ADD: { + uniGetMemberAdd(type, data, callback); + } + break; + //鎴愬憳鍒犻櫎 + case HDLUniMP.UNI_EVENT_REPLY_MEMBER_DELETE: { + uniGetMemberDelete(type, data, callback); + } + break; + //鎴愬憳缂栬緫 + case HDLUniMP.UNI_EVENT_REPLY_MEMBER_EDIT: { + uniGetMemberEdit(type, data, callback); + + } + break; + //鑾峰彇鍛樺伐鍒楄〃 + case HDLUniMP.UNI_EVENT_REPLY_STAFF_LIST: { + uniGetStaffList(type, data, callback); + + } + break; + //鍛樺伐娣诲姞 + case HDLUniMP.UNI_EVENT_REPLY_STAFF_ADD: { + uniGetStaffAdd(type, data, callback); + + } + break; + //鍛樺伐璇︽儏鑾峰彇 + case HDLUniMP.UNI_EVENT_REPLY_STAFF_DETAIL: { + uniGetStaffInfo(type, data, callback); + + } + + break; + //鍛樺伐鍒犻櫎 + case HDLUniMP.UNI_EVENT_REPLY_STAFF_DELETE: { + + uniGetStaffDelete(type, data, callback); + + } + break; + //鍛樺伐缂栬緫 + case HDLUniMP.UNI_EVENT_REPLY_STAFF_EDIT: { + uniGetStaffEdit(type, data, callback); + + } + break; + //鑾峰彇褰撳墠璐﹀彿鍦ㄥ叕鍙哥殑韬唤 + case HDLUniMP.UNI_EVENT_REPLY_USERRIGHTTYP: { + uniGetUserRightType(type, data, callback); + + } + break; } @@ -473,12 +626,12 @@ switch (type) { //鑾峰彇娓╁害鍗曚綅 case HDLUniMP.UNI_EVENT_REPLY_OTHER_UNIT: { - uniCallbackData(mode_type, UserConfigManage.getInstance().getTemperature_unit(), callback); + uniSuccessCallback(mode_type, UserConfigManage.getInstance().getTemperature_unit(), callback); } break; //鑾峰彇褰撳墠app璇█ case HDLUniMP.UNI_EVENT_REPLY_OTHER_APP_LANGUAGE: { - uniCallbackData(mode_type, UserConfigManage.getInstance().getCurrentAppLanguage(), callback); + uniSuccessCallback(mode_type, UserConfigManage.getInstance().getCurrentAppLanguage(), callback); } break; //鑾峰彇浣嶇疆淇℃伅 @@ -489,7 +642,7 @@ //搴旂敤鍐茬獊 case HDLUniMP.UNI_EVENT_REPLY_OTHER_APPLICATION_CONFLICT: { if (callback != null) { - uniCallbackData(type, HDLUdpConnect.getInstance().isBindSuccess(), callback); + uniSuccessCallback(type, HDLUdpConnect.getInstance().isBindSuccess(), callback); } } break; @@ -510,6 +663,36 @@ //uni閫氱煡鍘熺敓閫�鍑虹櫥褰� case HDLUniMP.UNI_EVENT_REPLY_OTHER_LOGOUT: { 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); + if (callback != null) { + uniSuccessCallback(type, jsonObject, callback); + } + HdlLogLogic.print("uni---log---鏈湴瀵嗛挜鑾峰彇---" + localSecret, true); + + } + 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); + } + } + break; + //link杩涜瀵嗙爜楠岃瘉 + case HDLUniMP.UNI_EVENT_REPLY_OTHER_Password_verifiy: { + uniCheckPasswordVerification(mode_type, data, callback); } break; } @@ -559,6 +742,402 @@ //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) { + + + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + if (callback != null) { + uniSuccessCallback(type, null, callback); + } + List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId); + for (int i = 0; i < list.size(); i++) { + GatewayBean gatewayBean = list.get(i); + HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), null); + } + list.clear();//娓呯┖缂撳瓨; +// HDLLinkLocalGateway.getInstance().getGatewayList().clear(); + HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨 + if (UserConfigManage.getInstance().isBAccount()) { + //B绔� + //鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱 + if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { + HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); + } + } else { + //C绔� + List<HouseIdBean> HouseIdList = HdlResidenceLogic.getInstance().getHouseIdList(); + if (HouseIdList.size() == 0) { + String path = HDLUniMP.UNI_EVENT_OPEN_HOME_Null_C; + HdlUniLogic.getInstance().openUniMP(path, null); + } else { + HouseIdBean houseIdBean = HouseIdList.get(0);//榛樿鎷跨涓�涓� + HdlResidenceLogic.getInstance().switchHouse(houseIdBean); + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("homeId", houseIdBean.getHomeId()); + jsonObject.addProperty("homeName", houseIdBean.getHomeName()); + jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus() + ""); + HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); + uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS); + uniCallBackBaseBean.setData(jsonObject); + HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); + } + + + } + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鐢电珯鎺堟潈瀹夎鍟�(C绔�) + */ + private void uniHomeUpdateDebugPerm(String type, Object data, DCUniMPJSCallback callback) { + + + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + boolean debugPerm = Boolean.parseBoolean(getKeyValue("debugPerm", getKeyValue("data", data))); + HdlResidenceLogic.getInstance().homeUpdateDebugPerm(homeId, debugPerm, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + + } + + /** + * 鐢电珯鎵嬪姩浜や粯(瀹夎鍟�) + */ + private void uniGetDeliverToAccount(String type, Object data, DCUniMPJSCallback callback) { + + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String account = getKeyValue("account", getKeyValue("data", data)); + HdlResidenceLogic.getInstance().getDeliverToAccount(homeId, account, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + //鏀跺埌鎴愬姛缁撴灉鍝嶅簲鍚�,浼氳嚜鍔ㄥ叧闂皬绋嬪簭锛屽湪HDLUniMPSDKManager绫婚噷闈㈡湁鏂规硶()鐩戝惉鍒板皬绋嬪簭鍏抽棴锛岀洃鍚埌灏忕▼搴忓叧闂簨浠跺悗锛屼細閲嶆柊鑾峰彇鐢电珯鍒楄〃杩涜鍒风晫闈紱 + if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { + HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); + } + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + + } + + /** + * 鐢电珯鐨勪氦浠樹簩缁寸爜(瀹夎鍟�) + */ + 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); + } + }); + + } + + /** + * 鑾峰彇褰撳墠璐﹀彿鍦ㄥ叕鍙哥殑韬唤 + */ + private void uniGetUserRightType(String type, Object data, DCUniMPJSCallback callback) { + HdlMemberLogic.getInstance().getUserRightType(new CloudCallBeak<UserRightTypeBean>() { + @Override + public void onSuccess(UserRightTypeBean userRightTypeBean) { + uniSuccessCallback(type, userRightTypeBean, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鍛樺伐缂栬緫 + */ + private void uniGetStaffEdit(String type, Object data, DCUniMPJSCallback callback) { + StaffBean staffBean = new StaffBean(); + String staffInfo = getKeyValue("staffInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(staffInfo)) { + try { + staffBean = new Gson().fromJson(staffInfo, StaffBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getStaffEdit(staffBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鍛樺伐鍒犻櫎 + */ + private void uniGetStaffDelete(String type, Object data, DCUniMPJSCallback callback) { + StaffBean staffBean = new StaffBean(); + String staffInfo = getKeyValue("staffInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(staffInfo)) { + try { + staffBean = new Gson().fromJson(staffInfo, StaffBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getStaffDelete(staffBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鍛樺伐娣诲姞 + */ + private void uniGetStaffAdd(String type, Object data, DCUniMPJSCallback callback) { + StaffBean staffBean = new StaffBean(); + String staffInfo = getKeyValue("staffInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(staffInfo)) { + try { + staffBean = new Gson().fromJson(staffInfo, StaffBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getStaffAdd(staffBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鑾峰彇鍛樺伐璇︽儏 + */ + private void uniGetStaffInfo(String type, Object data, DCUniMPJSCallback callback) { + String userId = getKeyValue("userId", getKeyValue("data", data)); + HdlMemberLogic.getInstance().getStaffInfo(userId, new CloudCallBeak<StaffBean>() { + @Override + public void onSuccess(StaffBean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鑾峰彇鍛樺伐鍒楄〃 + */ + private void uniGetStaffList(String type, Object data, DCUniMPJSCallback callback) { + long pageNo = Long.parseLong(getKeyValue("pageNo", getKeyValue("data", data))); + long pageSize = Long.parseLong(getKeyValue("pageSize", getKeyValue("data", data))); + HdlMemberLogic.getInstance().getStaffList(pageNo, pageSize, new CloudCallBeak<PageNumberObject<StaffBean>>() { + @Override + public void onSuccess(PageNumberObject<StaffBean> obj) { + uniSuccessCallback(type, obj.getList(), callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + + /** + * 鎴愬憳缂栬緫 + */ + private void uniGetMemberEdit(String type, Object data, DCUniMPJSCallback callback) { + MemberBean memberBean = new MemberBean(); + String memberInfo = getKeyValue("memberInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(memberInfo)) { + try { + memberBean = new Gson().fromJson(memberInfo, MemberBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getMemberEdit(memberBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鎴愬憳鍒犻櫎 + */ + private void uniGetMemberDelete(String type, Object data, DCUniMPJSCallback callback) { + MemberBean memberBean = new MemberBean(); + String memberInfo = getKeyValue("memberInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(memberInfo)) { + try { + memberBean = new Gson().fromJson(memberInfo, MemberBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getMemberDelete(memberBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鎴愬憳娣诲姞 + */ + private void uniGetMemberAdd(String type, Object data, DCUniMPJSCallback callback) { + MemberBean memberBean = new MemberBean(); + String memberInfo = getKeyValue("memberInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(memberInfo)) { + try { + memberBean = new Gson().fromJson(memberInfo, MemberBean.class); + } catch (Exception ignored) { + } + } + HdlMemberLogic.getInstance().getMemberAdd(memberBean, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 涓嬭浇鎴愬憳锛堝瓙璐﹀彿锛夊ご鍍� + */ + private void uniGetHeadPIortrait(String type, Object data, DCUniMPJSCallback callback) { + MemberBean memberBean = new MemberBean(); + String memberInfo = getKeyValue("memberInfo", getKeyValue("data", data)); + if (!TextUtils.isEmpty(memberInfo)) { + try { + memberBean = new Gson().fromJson(memberInfo, MemberBean.class); + } catch (Exception ignored) { + } + } + + HdlMemberLogic.getInstance().getHeadPIortrait(memberBean, new CloudCallBeak<byte[]>() { + @Override + public void onSuccess(byte[] obj) { + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } + + /** + * 鑾峰彇鎴愬憳鍒楄〃 + */ + private void uniGetMemberList(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + MemberBean memberBean = new MemberBean(); + memberBean.setHomeId(homeId); + HdlMemberLogic.getInstance().getMemberList(memberBean, new CloudCallBeak<List<MemberBean>>() { + @Override + public void onSuccess(List<MemberBean> list) { + uniSuccessCallback(type, list, callback); + } + + @Override + public void onFailure(HDLException e) { + uniExceptionCallback(type, e, callback); + } + }); + } /** * 鑾峰彇鎴栬�呴厤缃�嗗彉鍣ㄧ綉缁滐紙鍖呮嫭閫嗗彉鍣ㄧ儹鐐癸紝wifi锛屼互澶綉锛変俊鎭� @@ -581,7 +1160,7 @@ @Override public void onSuccess(String msg) { if (callback != null) { - uniCallbackData(type, msg, callback); + uniSuccessCallback(type, msg, callback); } } @@ -610,7 +1189,7 @@ if (ActivityCompat.checkSelfPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(HDLApp.getInstance(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { geolocation.setResult(-2); geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_no_location_information_permission)); - uniCallbackData(type, geolocation, callback); + uniSuccessCallback(type, geolocation, callback); return; } // 鍒ゆ柇璁惧鏄惁鏀寔瀹氫綅鍔熻兘 @@ -618,14 +1197,14 @@ geolocation.setResult(-1); geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_the_location_function_is_not_enabled)); //todo 鎻愮ず鐢ㄦ埛鎵撳紑瀹氫綅鍔熻兘鎴栬�呭紩瀵肩敤鎴峰幓绯荤粺璁剧疆椤甸潰鎵撳紑瀹氫綅鍔熻兘 - uniCallbackData(type, geolocation, callback); + uniSuccessCallback(type, geolocation, callback); return; } Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); if (location == null) { geolocation.setResult(-3); geolocation.setDes(HDLApp.getInstance().getString(R.string.exception_unable_location_move10_meters_later)); - uniCallbackData(type, geolocation, callback); + uniSuccessCallback(type, geolocation, callback); return; } geolocation.setResult(0); @@ -636,12 +1215,12 @@ double lon = longitude.setScale(6, RoundingMode.HALF_DOWN).doubleValue(); geolocation.setLatitude(lat);//缁忓害 geolocation.setLongitude(lon);//绾害 - uniCallbackData(type, geolocation, callback); + uniSuccessCallback(type, geolocation, callback); } catch (Exception e) { Geolocation geolocation = new Geolocation(); geolocation.setResult(-4); geolocation.setDes(e.getMessage()); - uniCallbackData(type, geolocation, callback); + uniSuccessCallback(type, geolocation, callback); } } @@ -655,7 +1234,7 @@ HdlOtaLogic.getInstance().getCloudOidList(new CloudCallBeak<List<DeviceOidInfoBean>>() { @Override public void onSuccess(List<DeviceOidInfoBean> obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -671,10 +1250,12 @@ */ 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) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -694,7 +1275,7 @@ HdlOtaLogic.getInstance().getNewDeviceFirmwares(hardwareModel, osImageId, new CloudCallBeak<List<CloudDeviceFirmwaresBean>>() { @Override public void onSuccess(List<CloudDeviceFirmwaresBean> obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -732,7 +1313,7 @@ } } if (callback != null) { - this.uniCallbackData(type, list, callback); + this.uniSuccessCallback(type, list, callback); } } catch (Exception ignored) { } @@ -796,7 +1377,7 @@ String module = "FW#" + imageId;//妯″潡淇℃伅(HW锛氱‖浠�) //鍗囩骇鏈湴浼樺厛->浜戠鍗囩骇 - HdlDeviceLogic.getInstance().isLocalConnect(deviceMac, new CloudCallBeak<Boolean>() { + HdlDeviceLogic.getInstance().isLocalConnect(homeId, deviceMac, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean b) { if (b) { @@ -856,7 +1437,7 @@ HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -895,7 +1476,7 @@ HdlOtaLogic.getInstance().upgradeDeviceFirmware(deviceOidId, firmwareVersionId, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -922,10 +1503,11 @@ */ 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) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -945,7 +1527,7 @@ HdlOtaLogic.getInstance().getNewGatewayDrivers(driveCode, osImageId, new CloudCallBeak<CloudGatewayDriversBean>() { @Override public void onSuccess(CloudGatewayDriversBean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -981,10 +1563,10 @@ } } if (callback != null) { - this.uniCallbackData(type, list, callback); + this.uniSuccessCallback(type, list, callback); } } catch (Exception exception) { - this.uniCallbackData(type, new ArrayList<>(), callback); + this.uniSuccessCallback(type, new ArrayList<>(), callback); } } @@ -1048,7 +1630,7 @@ String imageId = getKeyValue("imageId", getKeyValue("data", data));//鍥轰欢闀滃儚id String module = driverCode + "#" + imageId; //鍗囩骇鏈湴浼樺厛->浜戠鍗囩骇 - HdlDeviceLogic.getInstance().isLocalConnect(deviceMac, new CloudCallBeak<Boolean>() { + HdlDeviceLogic.getInstance().isLocalConnect(homeId, deviceMac, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean b) { if (b) { @@ -1108,7 +1690,7 @@ HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -1147,7 +1729,7 @@ HdlOtaLogic.getInstance().upgradeGatewayDriver(deviceOid, driverVersionId, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -1251,26 +1833,34 @@ 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()); //鏇存柊鐢ㄦ埛澶村儚 - uniCallbackData(type, cUserInfo, callback); + 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); + uniSuccessCallback(type, cUserInfo, callback); + UserConfigManage.getInstance().setUserName(cUserInfo.getMemberName()); + UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); + UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); UserConfigManage.getInstance().setUserImageUrl(cUserInfo.getMemberHeadIcon()); - uniCallbackData(type, cUserInfo, callback); + UserConfigManage.getInstance().Save(); + HdlLogLogic.print("澶村儚璺緞---->>>" + cUserInfo.getMemberHeadIcon()); } @Override public void onFailure(HDLException e) { - uniCallbackData(type, cUserInfo, callback); + uniSuccessCallback(type, cUserInfo, callback); } }); } @@ -1295,7 +1885,7 @@ HdlAccountLogic.getInstance().getImageKey_C(imageKey, new CloudCallBeak<String>() { @Override public void onSuccess(String url) { - uniCallbackData(type, url, callback); + uniSuccessCallback(type, url, callback); } @Override @@ -1317,7 +1907,7 @@ HdlDeviceLogic.getInstance().clearInverterHomeId(mac, new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, null, callback); + uniSuccessCallback(type, null, callback); } @Override @@ -1338,7 +1928,7 @@ HdlMessageLogic.getInstance().getMessageUntreatedCount(homeId, new CloudCallBeak<UnCountBean>() { @Override public void onSuccess(UnCountBean data) { - uniCallbackData(type, data, callback); + uniSuccessCallback(type, data, callback); } @Override @@ -1377,7 +1967,7 @@ HdlDeviceLogic.getInstance().editGatewayTime(mac, date, time, timezone, new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, true, callback); + uniSuccessCallback(type, true, callback); } @Override @@ -1399,7 +1989,7 @@ @Override public void onSuccess(DeviceTimeBean deviceTimeBean) { if (callback != null) { - uniCallbackData(type, deviceTimeBean, callback); + uniSuccessCallback(type, deviceTimeBean, callback); } } @@ -1422,7 +2012,7 @@ @Override public void onSuccess(List<OidBean> list) { if (callback != null) { - uniCallbackData(type, list, callback); + uniSuccessCallback(type, list, callback); } } @@ -1459,7 +2049,7 @@ HdlDeviceLogic.getInstance().addInverterDeviceToCloud(homeId, mac, gatewayBean.getGatewayType(), gatewayBean.getSid(), gatewayBean.getOid(), gatewayBean.getDevice_name(), new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, null, callback); + uniSuccessCallback(type, null, callback); } @Override @@ -1493,7 +2083,7 @@ // com.alibaba.fastjson.JSONArray jsonArray = JSON.parseArray(data); try { String devices = getKeyValue("devices", getKeyValue("data", data)); - String homeId = UserConfigManage.getInstance().getHomeId(); //缁戝畾鎴愬姛涔嬪悗閫氱煡 + String homeId = getKeyValue("homeId", getKeyValue("data", data)); Gson gson = new Gson(); Type typeOfT = new TypeToken<List<GatewayBean>>() { }.getType(); @@ -1519,11 +2109,27 @@ HdlDeviceLogic.getInstance().addAllInverterDeviceToCloud(homeId, list, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, null, callback); + uniSuccessCallback(type, null, callback); } @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); } }); @@ -1562,16 +2168,39 @@ */ private void uniDelInverterDevice(String type, Object data, DCUniMPJSCallback callback) { String deviceId = getKeyValue("deviceId", getKeyValue("data", data)); - String homeId = UserConfigManage.getInstance().getHomeId(); + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String mac = getKeyValue("mac", getKeyValue("data", data)); HdlDeviceLogic.getInstance().delInverterDevice(homeId, deviceId, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, null, callback); + //鍒濆鍖栭�嗗彉鍣ㄨ澶� + HdlDeviceLogic.getInstance().initializeInverter(mac, null); + //绉婚櫎鏈湴缂撳瓨 + HdlDeviceLogic.getInstance().removeLocalCacheMemoryGatewayToDeviceId(homeId, deviceId); + uniSuccessCallback(type, null, callback); } @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); + } } }); } @@ -1588,7 +2217,7 @@ HdlDeviceLogic.getInstance().searchAllNetworkGateway(new GatewayCallBack() { @Override public void onSuccess(List<GatewayBean> gatewayBeanList) { - uniCallbackData(type, gatewayBeanList, callback); + uniSuccessCallback(type, gatewayBeanList, callback); } @Override @@ -1611,19 +2240,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) { - uniCallbackData(type, list, callback); - } - return; - } if (callback != null) { - uniCallbackData(type, list, callback); + 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); @@ -1661,7 +2285,7 @@ TcpClient.getInstance().sendDataToLinkGateway(mac, TopicApi.PROPERTY_DOWN, jay, "", new HDLLinkCallBack() { @Override public void onSuccess(String msg) { - uniCallbackData(type, msg, callback); + uniSuccessCallback(type, msg, callback); } @Override @@ -1699,7 +2323,7 @@ Type typeOfT = new TypeToken<BaseLocalResponse<List<LinkBean>>>() { }.getType(); BaseLocalResponse<List<LinkBean>> baseLocalResponse = gson.fromJson(msg, typeOfT); - uniCallbackData(type, baseLocalResponse, callback); + uniSuccessCallback(type, baseLocalResponse, callback); } catch (Exception e) { uniCallbackData(type, msg, -2, "", callback); } @@ -1757,7 +2381,7 @@ // logMessage("tcp鍥炲鏁版嵁", 0, strings[0] + "\r\n" + json.toString()); if (topic.endsWith("wifi/set_reply") || topic.endsWith("wifi/result/notify")) { if (callback != null) { - uniCallbackData(type, json, callback); + uniSuccessCallback(type, json, callback); } if (json.has("mac")) { //鍥炲鎴愬姛鍐嶆嬁璁惧mac // this.device_mac = json.getString("mac"); @@ -1791,7 +2415,7 @@ /** * 鍒濆鍖栭�嗗彉鍣� * - * @param type 璐﹀彿 + * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 * @param callback uni鍥炶皟 */ @@ -1800,7 +2424,7 @@ HdlDeviceLogic.getInstance().initializeInverter(mac, new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); } @Override @@ -1813,7 +2437,7 @@ /** * 鍒濆鍖栭�嗗彉鍣� * - * @param type 璐﹀彿 + * @param type 绫诲瀷 * @param data uni璇锋眰鏁版嵁 * @param callback uni鍥炶皟 */ @@ -1847,7 +2471,102 @@ HdlDeviceLogic.getInstance().setDeviceRemoteInfo(newList, homeId, new CloudCallBeak<List<GatewayBean>>() { @Override public void onSuccess(List<GatewayBean> obj) { - uniCallbackData(type, obj, callback); + uniSuccessCallback(type, obj, callback); + } + + @Override + public void onFailure(HDLException e) { + uniCallbackData(type, null, e.getCode(), e.getMsg(), callback); + } + }); + } + + /** + * 淇敼璁惧鍚嶇О閫嗗彉鍣˙MS鐢垫睜鍖� + * + * @param type 绫诲瀷 + * @param data uni璇锋眰鏁版嵁 + * @param callback uni鍥炶皟 + */ + public void uniOidEditName(String type, Object data, DCUniMPJSCallback callback) { + String homeId = getKeyValue("homeId", getKeyValue("data", data)); + String deviceType = getKeyValue("deviceType", getKeyValue("data", data)); + String deviceId = getKeyValue("deviceId", getKeyValue("data", data)); + String name = getKeyValue("name", getKeyValue("data", data)); + HdlDeviceLogic.getInstance().setRename(homeId, deviceType, deviceId, name, 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 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 @@ -1897,7 +2616,7 @@ HDLModBusConnect.getInstance().Send(modBusBean.getMac(), modBusBean.getData(), new ModbusCallBack() { @Override public void onSuccess(int[] data) { - uniCallbackData(type, data, callback); + uniSuccessCallback(type, data, callback); // HdlLogLogic.print("uni---鎺ユ敹---ModBus---" + Arrays.toString(data), true); } @@ -1929,8 +2648,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()); } @@ -1946,6 +2665,13 @@ return new JSONObject(); } + private void uniSuccessCallback(String type, Object obj, DCUniMPJSCallback callback) { + uniCallbackData(type, obj, HDLLinkCode.HDL_SUCCESS.getCode(), HDLLinkCode.HDL_SUCCESS.getMsg(), callback); + } + + private void uniExceptionCallback(String type, HDLException hdlException, DCUniMPJSCallback callback) { + uniCallbackData(type, null, hdlException.getCode(), hdlException.getMsg(), callback); + } /** * 缁勮uni鍙戦�佹暟鎹牸寮� @@ -1966,18 +2692,14 @@ if (callback != null) { callback.invoke(getJSONObject(uniCallBackBaseBean)); // callback.invoke(uniCallBackBaseBean); - HdlLogLogic.print("uni---鍥炲---" + type + "---" + new Gson().toJson(uniCallBackBaseBean), true); + HdlLogLogic.print("鍥炲---uni---" + type + "---" + new Gson().toJson(uniCallBackBaseBean), true); } } catch (Exception e) { - HdlLogLogic.print("uni---鍥炲---" + type + "---" + e.getMessage(), true); + HdlLogLogic.print("鍥炲---uni---" + type + "---" + e.getMessage(), true); } - } - private void uniCallbackData(String type, Object obj, DCUniMPJSCallback callback) { - uniCallbackData(type, obj, HDLLinkCode.HDL_SUCCESS.getCode(), HDLLinkCode.HDL_SUCCESS.getMsg(), callback); - } /** * 褰撳墠瀵硅薄杞� JSONObject -- Gitblit v1.8.0