From f7c38847b8e00c84c30e51a92c03071d3e9a9da8 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期二, 14 五月 2024 09:08:57 +0800 Subject: [PATCH] 2024年05月14日09:08:49 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java index d364f58..0a1e88a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -9,6 +9,7 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.photovoltaic.bean.PageNumberObject; import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; @@ -19,9 +20,13 @@ 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.DeviceBean; import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; import com.hdl.photovoltaic.ui.bean.DeviceTimeBean; +import com.hdl.photovoltaic.ui.bean.HouseInfoBean; +import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.ui.bean.OidBean; +import com.hdl.photovoltaic.ui.bean.StatusOverviewBean; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.config.TopicConstant; import com.hdl.sdk.link.common.exception.HDLLinkCode; @@ -67,6 +72,27 @@ return sHdlDeviceLogic; } + public static final String kWp = "kWp"; + public static final String kWh = "kW.h"; + + public static final String kW = "kW"; + private List<DeviceBean> mListDevice = new ArrayList<>(); + + public void clearDeviceList() { + if (mListDevice == null) { + return; + } + if (mListDevice.size() > 0) { + mListDevice.clear(); + } + } + + public List<DeviceBean> getDeviceList() { + if (mListDevice == null) { + return new ArrayList<>(); + } + return mListDevice; + } /** * 鑾峰彇褰撳墠浣忓畢鐨勯�嗗彉鍣ㄥ垪琛�(鍖呮嫭浠庣殑閫嗗彉鍣�) @@ -145,6 +171,129 @@ } } + /** + * 鑾峰彇璁惧鍒楄〃(瀹夎鍟�) + * + * @param searchTxt 鎼滅储鍐呭 + * @param pageNo 椤电爜 + * @param pageSize 椤垫暟 + */ + public void getPowerStationDeviceList(String searchTxt, long pageNo, long pageSize, CloudCallBeak<PageNumberObject<DeviceBean>> cloudCallBeak) { + String requestUrl = HttpApi.POST_deviceList; + JsonObject json = new JsonObject(); + if (!TextUtils.isEmpty(searchTxt)) { + json.addProperty("searchTxt", searchTxt); + } + json.addProperty("pageNo", pageNo);//椤电爜 + json.addProperty("pageSize", pageSize);//椤垫暟 +// json.addProperty("zoneType", zoneType);//鍖哄煙 + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (TextUtils.isEmpty(jsonStr)) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new PageNumberObject<>()); + } + } + Gson gson = new Gson(); + Type type = new TypeToken<PageNumberObject<DeviceBean>>() { + }.getType(); + PageNumberObject<DeviceBean> pageNumberObject = gson.fromJson(jsonStr, type); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(pageNumberObject); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + } + + /** + * 鐢电珯鐘舵�佹瑙�(瀹夎鍟�) + */ + public void getStatusOverview(CloudCallBeak<StatusOverviewBean> cloudCallBeak) { + String requestUrl = HttpApi.POST_statusOverview; + JsonObject json = new JsonObject(); +// json.addProperty("zoneType", zoneType);//鍖哄煙 + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (TextUtils.isEmpty(jsonStr)) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new StatusOverviewBean()); + } + } + Gson gson = new Gson(); + StatusOverviewBean statusOverviewBean = gson.fromJson(jsonStr, StatusOverviewBean.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(statusOverviewBean); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + } + + /** + * 娣诲姞銆愯澶囧垪琛ㄣ�戝埌鏈湴缂撳瓨 + * + * @param list -璁惧鍒楄〃 + */ + public void setListDevice(List<DeviceBean> list) { + try { + if (list == null || list.size() == 0) { + return; + } + if (this.mListDevice.size() == 0) { + this.mListDevice.addAll(list); + return; + } + for (int i = 0; i < list.size(); i++) { + this.setSingleDevice(list.get(i)); + } + } catch (Exception ignored) { + } + } + + /** + * 娣诲姞璁惧鍒板垪琛ㄩ噷闈� + * + * @param deviceBean -璁惧瀵硅薄 + */ + public void setSingleDevice(DeviceBean deviceBean) { + try { + if (deviceBean == null) { + return; + } + boolean if_boolean = false; + for (int i = 0; i < mListDevice.size(); i++) { + if (mListDevice.get(i).getOsn().equals(deviceBean.getOsn())) { + //瀛樺湪鏇挎崲 + mListDevice.remove(i); + mListDevice.add(i, deviceBean); + if_boolean = true; + break; + } + } + if (!if_boolean) { + //娌℃湁娣诲姞 + this.mListDevice.add(deviceBean); + } + } catch (Exception e) { + String mes = e.getMessage(); + HdlLogLogic.print("--->" + mes); + } + } /** * 閫嗗彉鍣ㄤ笂浼犳暟鎹埌浜戠(鍖呮嫭:sid锛宱id) @@ -752,9 +901,9 @@ /** * 鍒濆鍖栭�嗗彉鍣� * - * @param mac 缃戝叧mac + * @param mac 閫嗗彉鍣╩ac */ - public void initializeGateway(String mac, LinkCallBack<Boolean> linkCallBack) { + public void initializeInverter(String mac, LinkCallBack<Boolean> linkCallBack) { String requestUrl = TopicApi.GATEWAY_INITIALIZE_REMOTE; JsonObject jObject = new JsonObject(); jObject.addProperty("device_mac", mac); -- Gitblit v1.8.0