From 96ef84e192807b383af7d3f2e5c89f08b359137f Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 28 十二月 2023 10:23:39 +0800 Subject: [PATCH] 2023年12月28日10:23:22 --- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 83 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 73 insertions(+), 10 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 5d6f962..bbe7790 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -111,31 +111,32 @@ /** * 閫嗗彉鍣ㄤ笂浼犳暟鎹埌浜戠(鍖呮嫭:sid锛宱id) * - * @param mac 璁惧mac + * @param homeId 浣忓畢id + * @param mac 璁惧mac */ - public void uploadDataToCloud(String mac, CloudCallBeak<Boolean> callBeak) { + public void uploadDataToCloud(String homeId, String mac, CloudCallBeak<Boolean> callBeak) { getInverterOidList(mac, new LinkCallBack<List<OidBean>>() { @Override public void onSuccess(List<OidBean> obj) { if (obj == null) { return; } - fullUpdateOid(obj, new CloudCallBeak<Boolean>() { + fullUpdateOid(homeId, obj, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { - + HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔垚鍔�-->" + homeId + "--->" + mac, true); } @Override public void onFailure(HDLException e) { - + HdlLogLogic.print("涓婁紶oid鍒楄〃鍒颁簯绔け璐�-->" + homeId + "--->" + mac + "-->" + e.getMsg() + "(" + e.getCode() + ")", true); } }); } @Override public void onError(HDLLinkException e) { - + HdlLogLogic.print("鑾峰彇閫嗗彉鍣╫id鍒楄〃澶辫触-->" + homeId + "--->" + mac + "-->" + e.getMsg() + "(" + e.getCode() + ")", true); } }); @@ -169,7 +170,7 @@ if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); //涓存椂鐨勯�昏緫锛屼笂浼爋id鍒楄〃鍒颁簯绔� - uploadDataToCloud(mac, null); + uploadDataToCloud(UserConfigManage.getInstance().getHomeId(), mac, null); } } @@ -293,14 +294,75 @@ /** * 鍏ㄩ噺鏇存柊OID * + * @param homeId 浣忓畢id * @param oidList oid鍒楄〃 * @param cloudCallBeak 鍥炶皟update */ - public void fullUpdateOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { + public void fullUpdateOid(String homeId, List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { + if (oidList == null || oidList.size() == 0) { + HdlLogLogic.print("oid鍒楄〃涓虹┖锛屾棤娉曞叏閲忔洿鏂皁id鍒颁簯绔�--->", true); + return; + } String requestUrl = HttpApi.POST_Device_Oid; JsonObject json = new JsonObject(); json.addProperty("operationSource", "PROGRAM_ENERGY");// - json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); + json.addProperty("homeId", homeId); + JsonArray jsonArray = new JsonArray(); + for (int i = 0; i < oidList.size(); i++) { + OidBean oidBean = oidList.get(i); + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("protocolType", oidBean.getProtocolType()); + jsonObject.addProperty("deviceType", oidBean.getDeviceType()); + jsonObject.addProperty("mac", oidBean.getDevice_mac()); + jsonObject.addProperty("oid", oidBean.getOid()); + jsonObject.addProperty("device_name", oidBean.getDevice_name()); + jsonObject.addProperty("device_model", oidBean.getDevice_model()); + jsonObject.addProperty("addresses", oidBean.getAddresses()); + jsonObject.addProperty("parentOid", oidBean.getParentOid()); + jsonArray.add(jsonObject); + + } + json.add("devices", jsonArray); + // json.addProperty("zoneType", "password");//鍖哄煙 + + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String str) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(true); + } + + HdlLogLogic.print("鍏ㄩ噺鏇存柊oid鍒颁簯绔垚鍔�--->", true); + + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + HdlLogLogic.print("鍏ㄩ噺鏇存柊oid鍒颁簯绔け璐�--->" + e.getMsg() + "(" + e.getCode() + ")", true); + } + }); + + } + + + /** + * (oid)澧為噺娣诲姞 + * + * @param homeId 浣忓畢id + * @param oidList oid鍒楄〃 + * @param cloudCallBeak 鍥炶皟update + */ + public void updateOidAdd(String homeId, List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { + if (oidList == null || oidList.size() == 0) { + HdlLogLogic.print("oid鍒楄〃涓虹┖锛屾棤娉曞閲忔坊鍔爋id鍒颁簯绔�--->", true); + return; + } + String requestUrl = HttpApi.POST_Device_IncrAdd; + JsonObject json = new JsonObject(); + json.addProperty("homeId", homeId); JsonArray jsonArray = new JsonArray(); for (int i = 0; i < oidList.size(); i++) { OidBean oidBean = oidList.get(i); @@ -326,7 +388,7 @@ if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); } - + HdlLogLogic.print("澧為噺娣诲姞oid鍒颁簯绔垚鍔�--->"); } @Override @@ -334,6 +396,7 @@ if (cloudCallBeak != null) { cloudCallBeak.onFailure(e); } + HdlLogLogic.print("澧為噺娣诲姞oid鍒颁簯绔け璐�--->" + e.getMsg() + "(" + e.getCode() + ")", true); } }); -- Gitblit v1.8.0