.gradle/buildOutputCleanup/buildOutputCleanup.lockBinary files differ
.gradle/buildOutputCleanup/outputFiles.binBinary files differ
.idea/workspace.xml
@@ -12,7 +12,23 @@ <option name="autoReloadType" value="NONE" /> </component> <component name="ChangeListManager"> <list default="true" id="263c1e85-a8b8-438a-bde2-e35109721369" name="Default Changelist" comment="" /> <list default="true" id="263c1e85-a8b8-438a-bde2-e35109721369" name="Default Changelist" comment=""> <change afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/listener/LinkCallBack.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/buildOutputCleanup.lock" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" beforeDir="false" afterPath="$PROJECT_DIR$/.gradle/buildOutputCleanup/outputFiles.bin" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java" beforeDir="false" afterPath="$PROJECT_DIR$/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/listener/BaseFailureCallBack.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/listener/BaseFailureCallBack.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java" afterDir="false" /> </list> <option name="SHOW_DIALOG" value="false" /> <option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> @@ -23,6 +39,13 @@ <projectState path="$PROJECT_DIR$"> <ProjectState /> </projectState> </component> <component name="FileTemplateManagerImpl"> <option name="RECENT_TEMPLATES"> <list> <option value="Interface" /> </list> </option> </component> <component name="Git.Settings"> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> @@ -139,24 +162,9 @@ <breakpoint-manager> <breakpoints> <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> <url>file://$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java</url> <line>156</line> <option name="timeStamp" value="28" /> </line-breakpoint> <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> <url>file://$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java</url> <line>77</line> <option name="timeStamp" value="33" /> </line-breakpoint> <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> <url>file://$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java</url> <line>85</line> <option name="timeStamp" value="34" /> </line-breakpoint> <line-breakpoint enabled="true" suspend="THREAD" type="java-line"> <url>file://$PROJECT_DIR$/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java</url> <line>68</line> <option name="timeStamp" value="35" /> <url>file://$PROJECT_DIR$/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/api/HDLCloudUserApi.java</url> <line>48</line> <option name="timeStamp" value="40" /> </line-breakpoint> </breakpoints> </breakpoint-manager> HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/callback/HDLLinkCallBack.java
@@ -5,6 +5,6 @@ * * @Description : HDLLinkCallBack */ public interface HDLLinkCallBack extends BaseCallBack{ public interface HDLLinkCallBack extends BaseCallBack { void onSuccess(String msg); } app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -20,6 +20,7 @@ import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.utils.HDLMD5Utils; @@ -65,18 +66,18 @@ * @param callBack 回调 * @return - */ private Disposable request(String api, String body, BaseSuccessFailureCallBeak callBack) { private Disposable request(String api, String body, CloudCallBeak<String> callBack) { String requestUrl = HDLCloudUserApi.getRequestUrl(api); return HxHttp.builder() .url(requestUrl) .raw(body) .build() .post() .subscribeWith(new HDLResponse<HttpResponsePack>() { .subscribeWith(new HDLResponse<String>() { @Override public void onResponse(HttpResponsePack response) { public void onResponse(String str) { if (callBack != null) { callBack.onSuccess(response); callBack.onSuccess(str); } } @@ -98,32 +99,35 @@ * @param body 请求参数(json) * @param callBack 回调 */ public Disposable requestHttp(String api, String body, BaseSuccessFailureCallBeak callBack) { public Disposable requestHttp(String api, String body, CloudCallBeak<String> callBack) { return request(api, body, callBack); } /** * 请求服务器的方法 * 请求服务器的方法(已弃用) * * @param requestUrl 请求接口 * @param json 请求数据 * @param isBasicService 是否是基础服务的接口(基础服务的接口需要 appKey,timestamp,sign这三个参数,当为true时,内部会自动添加) * @param isExecute 是否是同步(true=同步,false=异步) */ public void requestHttp(String requestUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) { @Deprecated private void requestHttp(String requestUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) { String fullUrl = AppConfigManage.getUserRegionUrl() + requestUrl; this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak); } /** * 请求服务器的方法(目前只用在获取获取账号区域信息) * 请求服务器的方法(已弃用) * 目前只用在获取获取账号区域信息 * * @param fullUrl 绝对地址(地址+接口) * @param json 请求数据 * @param isBasicService 是否是基础服务的接口(基础服务的接口需要 appKey,timestamp,sign这三个参数,当为true时,内部会自动添加) * @param isExecute 是否是同步(true=同步,false=异步) */ public void requestFullHttp(String fullUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) { @Deprecated private void requestFullHttp(String fullUrl, String json, boolean isBasicService, boolean isExecute, BaseSuccessFailureCallBeak baseSuccessCallBeak) { this.requestHttps(fullUrl, json, isBasicService, isExecute, baseSuccessCallBeak); } @@ -158,7 +162,7 @@ } else { //throw new IOException("Unexpected code " + response); baseSuccessCallBeak.onFailure(new Exception()); baseSuccessCallBeak.onFailure(new HDLException(response.code(), response.message())); } } else { @@ -178,13 +182,13 @@ baseSuccessCallBeak.onSuccess(httpResponsePack); HdlLogLogic.print("http->回复->", "\r\n" + s); } else { baseSuccessCallBeak.onFailure(new Exception()); baseSuccessCallBeak.onFailure(new HDLException(response.code(), response.message())); } } }); } } catch (Exception e) { baseSuccessCallBeak.onFailure(e); baseSuccessCallBeak.onFailure(new HDLException(-100, e.getMessage())); HdlLogLogic.print("http->回复->", "\r\n" + e.getMessage()); } app/src/main/java/com/hdl/photovoltaic/listener/BaseFailureCallBack.java
@@ -1,8 +1,10 @@ package com.hdl.photovoltaic.listener; import com.hdl.linkpm.sdk.core.exception.HDLException; public interface BaseFailureCallBack { /** * 失败 */ void onFailure(Exception exception); void onFailure(HDLException e); } app/src/main/java/com/hdl/photovoltaic/listener/LinkCallBack.java
New file @@ -0,0 +1,10 @@ package com.hdl.photovoltaic.listener; import com.hdl.sdk.link.core.callback.BaseCallBack; public interface LinkCallBack<T> extends BaseCallBack { /** * 成功回调 */ void onSuccess(T obj); } app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -9,15 +9,9 @@ import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean; import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack; import com.hdl.linkpm.sdk.user.controller.HDLPMUserController; import com.hdl.photovoltaic.ui.bean.LoginUserBean; import com.hdl.photovoltaic.ui.bean.LoginUserRegionBean; import com.hdl.photovoltaic.bean.HttpResponsePack; import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; import com.hdl.photovoltaic.listener.CloudCallBeak; import java.util.regex.Matcher; @@ -54,7 +48,7 @@ * @param i_account 账号 */ public void regionByAccount(String i_account, CloudCallBeak<HDLUserRegionBean> cloudCallBeak) { HDLPMUserController.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() { HDLLinkPMUser.getInstance().regionByAccount(i_account, new IRegionByAccountCallBack() { @Override public void onSuccess(HDLUserRegionBean regionBean) { if (cloudCallBeak != null) { @@ -86,11 +80,12 @@ json.addProperty("loginPwd", loginPwd); // json.addProperty("platform", "APP"); json.addProperty("grantType", "password"); HDLPMUserController.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() { HDLLinkPMUser.getInstance().loginByPassword(account, loginPwd, new ILoginCallBack() { @Override public void onSuccess(HDLLoginBean loginBean) { if (callBack != null) { saveUserData(loginBean); callBack.onSuccess(loginBean); } } @@ -102,27 +97,7 @@ } } }); // HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { // @Override // public void onSuccess(HttpResponsePack httpResponsePack) { // if (httpResponsePack != null && httpResponsePack.getData() != null) { // Gson gson = new Gson(); // String json = gson.toJson(httpResponsePack.getData()); // LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class); // saveUserData(loginUserBean); // if (cloudCallBeak != null) { // cloudCallBeak.onSuccess(loginUserBean); // } // } // } // // @Override // public void onFailure(Exception exception) { // if (cloudCallBeak != null) { // cloudCallBeak.onFailure(exception); // } // } // }); } /** @@ -132,30 +107,26 @@ * @param loginPwd 密码 * @param cloudCallBeak - */ public void refreshToken(String account, String loginPwd, CloudCallBeak<LoginUserBean> cloudCallBeak) { public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) { String requestUrl = HttpApi.POST_Login; JsonObject json = new JsonObject(); json.addProperty("grantType", "refresh_token"); // json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken()); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String json = gson.toJson(httpResponsePack.getData()); LoginUserBean loginUserBean = new Gson().fromJson(json, LoginUserBean.class); saveUserData(loginUserBean); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(loginUserBean); } public void onSuccess(String jsonStr) { Gson gson = new Gson(); HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class); // saveUserData(loginBean); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(loginBean); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -184,7 +155,7 @@ /** * 登录成功保存登录信息 */ private void saveUserData(LoginUserBean obj) { private void saveUserData(HDLLoginBean obj) { if (obj != null) { UserConfigManage.getInstance().setLogin(true);//是否登录 UserConfigManage.getInstance().setAcceiptPolicy(true);//是否选择隐私政策 app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -7,6 +7,7 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.hdlhttp.HxHttp; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.bean.HttpResponsePack; import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; @@ -16,6 +17,7 @@ import com.hdl.photovoltaic.internet.api.TopicApi; import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean; import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; import com.hdl.photovoltaic.ui.bean.InverterDeviceBean; @@ -80,18 +82,18 @@ json.addProperty("name", name); // json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -109,29 +111,24 @@ json.addProperty("homeId", homeId); // json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { try { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String json = gson.toJson(httpResponsePack.getData()); Type type = new TypeToken<List<CloudInverterDeviceBean>>() { }.getType(); List<CloudInverterDeviceBean> list = new Gson().fromJson(json, type); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } catch (Exception e) { public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); cloudCallBeak.onSuccess(null); } } Type type = new TypeToken<List<CloudInverterDeviceBean>>() { }.getType(); List<CloudInverterDeviceBean> list = new Gson().fromJson(jsonStr, type); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } @Override public void onFailure(Exception e) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } @@ -153,18 +150,18 @@ json.addProperty("deviceId", deviceId); // json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -183,25 +180,28 @@ json.addProperty("parentOid", parentOid); // json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String json = gson.toJson(httpResponsePack.getData()); Type typeOfT = new TypeToken<List<CloudInverterChildDeviceBean>>() { }.getType(); List<CloudInverterChildDeviceBean> list = gson.fromJson(json, typeOfT); public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); cloudCallBeak.onSuccess(null); } return; } Gson gson = new Gson(); Type typeOfT = new TypeToken<List<CloudInverterChildDeviceBean>>() { }.getType(); List<CloudInverterChildDeviceBean> list = gson.fromJson(jsonStr, typeOfT); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -236,9 +236,9 @@ json.add("devices", jsonArray); // json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); @@ -247,9 +247,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -260,10 +260,10 @@ /** * 设置网关远程参数 * * @param mac 设备mac * @param cloudCallBeak 回调update * @param mac 设备mac * @param linkCallBack 回调update */ public void steGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) { public void steGatewayParam(String mac, LinkCallBack<Boolean> linkCallBack) { String requestUrl = TopicApi.SET_GATEWAY_REMOTE_EDIT; JsonObject json = new JsonObject(); json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); @@ -279,16 +279,16 @@ gatewayBean.setLocalEncrypt(true); } } if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); if (linkCallBack != null) { linkCallBack.onSuccess(true); } } @Override public void onError(HDLLinkException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); if (linkCallBack != null) { linkCallBack.onError(e); } } }); @@ -297,25 +297,25 @@ /** * 编辑网关参数 * * @param mac 设备mac * @param cloudCallBeak 回调update * @param mac 设备mac * @param linkCallBack 回调update */ public void editGatewayParam(String mac, CloudCallBeak<Boolean> cloudCallBeak) { public void editGatewayParam(String mac, LinkCallBack<Boolean> linkCallBack) { String requestUrl = TopicApi.SET_GATEWAY_EDIT; JsonObject json = new JsonObject(); json.addProperty("master", "true"); TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, json, "", new HDLLinkCallBack() { @Override public void onSuccess(String msg) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); if (linkCallBack != null) { linkCallBack.onSuccess(true); } } @Override public void onError(HDLLinkException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); if (linkCallBack != null) { linkCallBack.onError(e); } } }); @@ -326,39 +326,31 @@ /** * 获取网关详情信息 * * @param mac 网关mac * @param cloudCallBeak 回调 * @param mac 网关mac * @param linkCallBack 回调 */ public void getGatewayInfo(String mac, CloudCallBeak<GatewayBean> cloudCallBeak) { public void getGatewayInfo(String mac, LinkCallBack<GatewayBean> linkCallBack) { String requestUrl = TopicApi.GET_GATEWAY_INFO; TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() { @Override public void onSuccess(String msg) { try { if (!TextUtils.isEmpty(msg)) { Gson gson = new Gson(); String json = gson.toJson(msg); GatewayBean gatewayBean = gson.fromJson(json, GatewayBean.class); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(gatewayBean); } } else { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new GatewayBean()); } public void onSuccess(String json) { if (TextUtils.isEmpty(json)) { if (linkCallBack != null) { linkCallBack.onSuccess(null); } } catch (Exception e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } return; } Gson gson = new Gson(); GatewayBean gatewayBean = gson.fromJson(json, GatewayBean.class); if (linkCallBack != null) { linkCallBack.onSuccess(gatewayBean); } } @Override public void onError(HDLLinkException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); if (linkCallBack != null) { linkCallBack.onError(e); } } }); @@ -368,41 +360,33 @@ /** * 获取网关oid列表 * * @param mac 网关mac * @param cloudCallBeak 回调 * @param mac 网关mac * @param linkCallBack 回调 */ public void getGatewayOidList(String mac, CloudCallBeak<List<OidBean>> cloudCallBeak) { public void getGatewayOidList(String mac, LinkCallBack<List<OidBean>> linkCallBack) { String requestUrl = TopicApi.GET_GATEWAY_OID_LIST; TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() { @Override public void onSuccess(String msg) { try { if (!TextUtils.isEmpty(msg)) { Gson gson = new Gson(); String json = gson.toJson(msg); Type typeOfT = new TypeToken<List<OidBean>>() { }.getType(); List<OidBean> list = gson.fromJson(json, typeOfT); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } else { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(new ArrayList<>()); } public void onSuccess(String json) { if (TextUtils.isEmpty(json)) { if (linkCallBack != null) { linkCallBack.onSuccess(null); } } catch (Exception e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } return; } Gson gson = new Gson(); Type typeOfT = new TypeToken<List<OidBean>>() { }.getType(); List<OidBean> list = gson.fromJson(json, typeOfT); if (linkCallBack != null) { linkCallBack.onSuccess(list); } } @Override public void onError(HDLLinkException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); if (linkCallBack != null) { linkCallBack.onError(e); } } }); @@ -422,9 +406,9 @@ HdlDeviceLogic.getInstance().getCloudInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<CloudInverterDeviceBean>>() { @Override public void onSuccess(List<CloudInverterDeviceBean> list) { if (list == null) { //云端没有绑定逆变器,清空本地列表; HDLLinkLocalGateway.getInstance().getGatewayList().clear(); if (list == null || list.size() == 0) { // //云端没有绑定逆变器,清空本地列表; // HDLLinkLocalGateway.getInstance().getGatewayList().clear(); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } @@ -454,9 +438,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -500,9 +484,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); app/src/main/java/com/hdl/photovoltaic/other/HdlMqttLogic.java
@@ -4,6 +4,7 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.hdlhttp.HxHttp; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.bean.HttpResponsePack; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; @@ -53,9 +54,9 @@ json.addProperty("homeId", homeId); json.addProperty("spk", spk); json.addProperty("mac", mac); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String jsonStr) { // if (httpResponsePack != null && httpResponsePack.getData() != null) { // Gson gson = new Gson(); // String json = gson.toJson(httpResponsePack.getData()); @@ -68,9 +69,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -1,9 +1,12 @@ package com.hdl.photovoltaic.other; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.text.TextUtils; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.bean.HttpResponsePack; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; @@ -19,6 +22,7 @@ import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.gateway.HDLLinkLocalGateway; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -128,12 +132,12 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { atomicInteger.set(atomicInteger.get() + 1); if (atomicInteger.get() == houseIdList.size()) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } } @@ -148,9 +152,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -160,8 +164,11 @@ /** * 获取住宅(电站)ID列表 * * @param key 发电功率排序(powerSort);今日发电量排序(todayElectricitySort);创建时间排序(createTimeSort); * @param keyValue (descending:降序ascending:升序), * @param key 发电功率排序(powerSort); * 今日发电量排序(todayElectricitySort); * 创建时间排序(createTimeSort); * @param keyValue (descending:降序 * ascending:升序), */ public void getResidenceIdList(String key, String keyValue, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) { @@ -170,72 +177,66 @@ if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) { json.addProperty(key, keyValue);//发电功率排序(descending:降序ascending:升序) } // json.addProperty("powerSort", "descending");//发电功率排序(descending:降序ascending:升序) // json.addProperty("todayElectricitySort", "descending");//今日发电量排序 // json.addProperty("createTimeSort", "descending");//创建时间排序 // json.addProperty("zoneType", "password");//区域 json.addProperty("pageNo", 1);//页码 json.addProperty("pageSize", pageSize);//页数 List<HouseIdBean> list = new ArrayList<>(); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class); list.addAll(houseInfoBeanClass.getList()); //总共有多少页 long totalPage = houseInfoBeanClass.totalPage; if (totalPage < 2) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } return; } //记录请求条数 AtomicInteger atomicInteger = new AtomicInteger(0); //从第二页获取数据 for (int i = 2; i <= totalPage; i++) { json.addProperty("pageNo", i);//更新页码 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { atomicInteger.set(atomicInteger.get() + 1); Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class); list.addAll(houseInfoBeanClass.getList()); if (atomicInteger.get() == totalPage - 1) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } @Override public void onFailure(Exception exception) { atomicInteger.set(atomicInteger.get() + 1); if (atomicInteger.get() == totalPage - 1) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } }); } } else { public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } Gson gson = new Gson(); HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class); list.addAll(houseInfoBeanClass.getList()); //总共有多少页 long totalPage = houseInfoBeanClass.totalPage; if (totalPage < 2) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } return; } //记录请求条数 AtomicInteger atomicInteger = new AtomicInteger(0); //从第二页获取数据 for (int i = 2; i <= totalPage; i++) { json.addProperty("pageNo", i);//更新页码 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { atomicInteger.set(atomicInteger.get() + 1); Gson gson = new Gson(); HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class); list.addAll(houseInfoBeanClass.getList()); if (atomicInteger.get() == totalPage - 1) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } @Override public void onFailure(HDLException e) { atomicInteger.set(atomicInteger.get() + 1); if (atomicInteger.get() == totalPage - 1) { //最后一条退出 if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); } } } }); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException exception) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); } @@ -256,30 +257,25 @@ JsonObject json = new JsonObject(); json.addProperty("homeId", homeId);//电站id //json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { try { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseInfoBean houseInfoBean = gson.fromJson(jsonStr, HouseInfoBean.class); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(houseInfoBean); } } } catch (Exception exception) { public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onSuccess(null); } } Gson gson = new Gson(); HouseInfoBean houseInfoBean = gson.fromJson(jsonStr, HouseInfoBean.class); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(houseInfoBean); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -319,9 +315,9 @@ json.addProperty("electrovalence", houseInfoBean.getElectrovalence()); json.addProperty("totalCost", houseInfoBean.getTotalCost()); json.addProperty("zoneType", houseInfoBean.getZoneType()); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } @@ -329,9 +325,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -348,9 +344,9 @@ JsonObject json = new JsonObject(); json.addProperty("homeId", homeId);//电站id //json.addProperty("zoneType", "password");//区域 HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } @@ -358,9 +354,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -398,9 +394,9 @@ json.addProperty("electrovalence", houseInfoBean.getElectrovalence()); json.addProperty("totalCost", houseInfoBean.getTotalCost()); json.addProperty("zoneType", houseInfoBean.getZoneType()); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } @@ -408,9 +404,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); @@ -421,28 +417,28 @@ /** * 获取住宅图片 */ public void getResidenceImage(String imageUrl, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) { public void getResidenceImage(String imageUrl, CloudCallBeak<Bitmap> cloudCallBeak) { String requestUrl = imageUrl; JsonObject json = new JsonObject(); List<HouseIdBean> list = new ArrayList<>(); HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(HttpResponsePack httpResponsePack) { if (httpResponsePack != null && httpResponsePack.getData() != null) { Gson gson = new Gson(); String jsonStr = gson.toJson(httpResponsePack.getData()); HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class); } else { public void onSuccess(String jsonStr) { if (TextUtils.isEmpty(jsonStr)) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(list); cloudCallBeak.onSuccess(null); } return; } Bitmap bitmap = BitmapFactory.decodeByteArray(jsonStr.getBytes(), 0, jsonStr.getBytes().length); if (cloudCallBeak != null) { cloudCallBeak.onSuccess(bitmap); } } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (cloudCallBeak != null) { cloudCallBeak.onFailure(exception); cloudCallBeak.onFailure(e); } } }); app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -4,12 +4,14 @@ import android.text.TextUtils; import com.google.gson.Gson; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.bean.BaseEventBus; import com.hdl.photovoltaic.bean.ModBusBean; import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.listener.LinkCallBack; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; @@ -96,10 +98,10 @@ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: { //添加设备到云端 String mac = getKeyValue("mac", getKeyValue("data", data)); HdlDeviceLogic.getInstance().steGatewayParam(mac, new CloudCallBeak<Boolean>() { HdlDeviceLogic.getInstance().steGatewayParam(mac, new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { HdlDeviceLogic.getInstance().editGatewayParam(mac, new CloudCallBeak<Boolean>() { HdlDeviceLogic.getInstance().editGatewayParam(mac, new LinkCallBack<Boolean>() { @Override public void onSuccess(Boolean obj) { GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getLocalGateway(mac); @@ -119,22 +121,22 @@ } @Override public void onFailure(Exception exception) { uniCallbackData(null, -100, exception.getMessage(), callback); public void onFailure(HDLException e) { uniCallbackData(null, -100, e.getMessage(), callback); } }); } @Override public void onFailure(Exception exception) { uniCallbackData(null, -100, exception.getMessage(), callback); public void onError(HDLLinkException e) { uniCallbackData(null, -100, e.getMessage(), callback); } }); } @Override public void onFailure(Exception exception) { uniCallbackData(null, -100, exception.getMessage(), callback); public void onError(HDLLinkException e) { uniCallbackData(null, -100, e.getMessage(), callback); } }); @@ -168,9 +170,9 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { if (callback != null) { uniCallbackData(null, -2, exception.getMessage(), callback); uniCallbackData(null, -2, e.getMessage(), callback); } } }); @@ -184,7 +186,7 @@ //添加设备到云端 String mac = getKeyValue("mac", getKeyValue("data", data)); //获取oid列表 HdlDeviceLogic.getInstance().getGatewayOidList(mac, new CloudCallBeak<List<OidBean>>() { HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() { @Override public void onSuccess(List<OidBean> list) { if (callback != null) { @@ -193,7 +195,7 @@ } @Override public void onFailure(Exception e) { public void onError(HDLLinkException e) { uniCallbackData(null, -2, e.getMessage(), callback); } }); app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -24,6 +24,7 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean; import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; @@ -210,6 +211,7 @@ @Override public void onSuccess(HDLUserRegionBean obj) { AppConfigManage.setUserRegionUrl("http://59.41.255.150:7777");//obj.getRegionUrl() HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl()); HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() { @Override public void onSuccess(HDLLoginBean obj) { @@ -223,7 +225,7 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { hideLoading(); restoreButtonStyleToInitializeState(); startActivity(MyPowerStationActivity.class); @@ -239,7 +241,7 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { hideLoading(); } }); app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -23,6 +23,8 @@ import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; import java.nio.charset.StandardCharsets; public class MyPowerStationActivity extends CustomBaseActivity { app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.bean.BaseEventBus; import com.hdl.photovoltaic.config.ConstantManage; @@ -176,7 +177,7 @@ } @Override public void onFailure(Exception exception) { public void onFailure(HDLException e) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() {