| | |
| | | import com.hdl.photovoltaic.internet.api.HttpApi; |
| | | import com.hdl.photovoltaic.listener.BaseSuccessFailureCallBeak; |
| | | import com.hdl.photovoltaic.listener.CloudCallBeak; |
| | | import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean; |
| | | import com.hdl.photovoltaic.ui.bean.HouseInfoBean; |
| | | import com.hdl.photovoltaic.ui.bean.HouseIdBean; |
| | | import com.hdl.sdk.link.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.link.core.bean.gateway.GatewayBean; |
| | | import com.hdl.sdk.link.core.callback.GatewayCallBack; |
| | | import com.hdl.sdk.link.core.config.HDLLinkConfig; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | } |
| | | |
| | | public void setHouseInfoList(List<HouseInfoBean> houseInfoList) { |
| | | if (houseInfoList == null) { |
| | | houseInfoList = new ArrayList<>(); |
| | | } |
| | | this.houseInfoList = houseInfoList; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | public void setHouseIdList(List<HouseIdBean> houseIdList) { |
| | | if (houseIdList == null) { |
| | | houseIdList = new ArrayList<>(); |
| | | } |
| | | this.houseIdList = houseIdList; |
| | | } |
| | | |
| | |
| | | */ |
| | | public void getHouseList(CloudCallBeak<Boolean> cloudCallBeak) { |
| | | //获取住宅ID列表 |
| | | getResidenceList("", "", new CloudCallBeak<List<HouseIdBean>>() { |
| | | getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { |
| | | @Override |
| | | public void onSuccess(List<HouseIdBean> houseListBeanIDList) { |
| | | if (houseListBeanIDList != null && houseListBeanIDList.size() > 0) { |
| | |
| | | * @param key 发电功率排序(powerSort);今日发电量排序(todayElectricitySort);创建时间排序(createTimeSort); |
| | | * @param keyValue (descending:降序ascending:升序), |
| | | */ |
| | | public void getResidenceList(String key, String keyValue, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) { |
| | | public void getResidenceIdList(String key, String keyValue, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) { |
| | | |
| | | String requestUrl = HttpApi.POST_PowerStation_List; |
| | | JsonObject json = new JsonObject(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 切换住宅 |
| | | * |
| | | * @param homeId 住宅id |
| | | * 获取住宅图片 |
| | | */ |
| | | public Boolean switchHouse(String homeId) { |
| | | UserConfigManage.getInstance().setHomeId(homeId); |
| | | HdlThreadLogic.runThread(new Runnable() { |
| | | public void getResidenceImage(String imageUrl, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) { |
| | | String requestUrl = imageUrl; |
| | | JsonObject json = new JsonObject(); |
| | | List<HouseIdBean> list = new ArrayList<>(); |
| | | HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() { |
| | | @Override |
| | | public void run() { |
| | | //搜索一下住宅设备 |
| | | 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 { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onSuccess(list); |
| | | } |
| | | } |
| | | } |
| | | }, null, null); |
| | | |
| | | //关闭进度条 |
| | | @Override |
| | | public void onFailure(Exception exception) { |
| | | if (cloudCallBeak != null) { |
| | | cloudCallBeak.onFailure(exception); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | return true; |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加【住宅详情】到本地缓存 |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 切换住宅 |
| | | * |
| | | * @param houseIdBean 住宅Id对象 |
| | | */ |
| | | public void switchHouse(HouseIdBean houseIdBean) { |
| | | String oidHomeId = UserConfigManage.getInstance().getHomeId(); |
| | | // if (houseIdBean.getHomeId().equals(oidHomeId)) { |
| | | // return; |
| | | // } |
| | | //删除旧的住宅文件夹 |
| | | HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath()); |
| | | //重新设置住宅id |
| | | UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId()); |
| | | //重新设置本地通讯秘钥 |
| | | UserConfigManage.getInstance().setLocalSecret(houseIdBean.getLocalSecret()); |
| | | //重新创建住宅文件夹 |
| | | HdlFileLogic.getInstance().createDirectory(); |
| | | //配置本地通信的信息 |
| | | initLocalLinkSdk(); |
| | | |
| | | // HdlDeviceLogic.getInstance().getInverterDeviceList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<CloudInverterDeviceBean>() { |
| | | // @Override |
| | | // public void onSuccess(CloudInverterDeviceBean obj) { |
| | | // |
| | | // |
| | | // } |
| | | // |
| | | // @Override |
| | | // public void onFailure(Exception exception) { |
| | | // |
| | | // } |
| | | // }); |
| | | HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() { |
| | | @Override |
| | | public void onSuccess(List<GatewayBean> gatewayBeanList) { |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 配置本地通信的信息(tcp通信用到) |
| | | */ |
| | | private void initLocalLinkSdk() { |
| | | HDLLinkConfig.getInstance().setHomeId(UserConfigManage.getInstance().getHomeId()); |
| | | HDLLinkConfig.getInstance().setLocalSecret(UserConfigManage.getInstance().getLocalSecret()); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | static class HouseBeanClass { |
| | | |