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