From dcb7088c2dca789074f8f48597dca3c55f3ab6f1 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 01 二月 2024 19:37:09 +0800
Subject: [PATCH] 2024年02月01日19:37:00

---
 app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java |  103 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 89 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
index 8a4bd8e..a6a8c98 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestMainActivity.java
@@ -2,19 +2,23 @@
 
 import androidx.recyclerview.widget.LinearLayoutManager;
 
-import android.content.Context;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.View;
 
+
 import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.reflect.TypeToken;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
-import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityTestMainBinding;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.internet.HttpClient;
+import com.hdl.photovoltaic.internet.TcpClient;
+import com.hdl.photovoltaic.internet.api.TopicApi;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.listener.LinkCallBack;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
@@ -22,11 +26,14 @@
 import com.hdl.photovoltaic.ui.bean.CloudInverterChildDeviceBean;
 import com.hdl.photovoltaic.ui.bean.OidBean;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
-import com.hdl.photovoltaic.widget.ConfirmationExceptionDialog;
 import com.hdl.sdk.link.common.exception.HDLLinkException;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
+import com.hdl.sdk.link.core.bean.response.BaseLocalResponse;
 import com.hdl.sdk.link.core.callback.GatewayCallBack;
+import com.hdl.sdk.link.core.callback.HDLLinkCallBack;
+import com.hdl.sdk.link.core.callback.ModbusCallBack;
 
+import java.lang.reflect.Type;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -39,6 +46,7 @@
     private TestTitleAdapter testTitleAdapter;
 
     private List<OidBean> mOidList;
+    private String s = "";
 
     @Override
     public Object getContentView() {
@@ -74,6 +82,7 @@
     private void initEvent() {
         viewBinding.topBackBtn.setOnClickListener(this);
         viewBinding.topLogBtn.setOnClickListener(this);
+        viewBinding.clickCommandTv.setOnClickListener(this);
         testTitleAdapter.setItemOnClickListener(new TestTitleAdapter.OnClickListener() {
             @Override
             public void OnClick(int position, String title) {
@@ -84,8 +93,8 @@
                     TipDialog("璇峰厛閫夋嫨浣忓畢杩涜娴嬭瘯,鍚﹀垯鏃犳硶杩涜閫嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
                     return;
                 }
-                GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway();
-                if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�")) {
+                GatewayBean gatewayBean = HdlDeviceLogic.getInstance().getCurrentHomeMainGateway(UserConfigManage.getInstance().getHomeId());
+                if (gatewayBean == null && !title.equals("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)") && !title.equals("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)")) {
                     // TODO: 10/30/23 鎵句笉鍒颁綇瀹呯殑涓婚�嗗彉鍣�,璇峰厛纭鏄惁缁戝畾閫嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�;
                     TipDialog("鎵句笉鍒颁綇瀹呯殑銆愪富閫嗗彉鍣ㄣ��,璇峰厛纭鏄惁缁戝畾杩囬�嗗彉鍣紝鍐嶈繘琛岄�嗗彉鍣ㄦ寚浠ゆ祴璇�.", null);
                     return;
@@ -105,6 +114,8 @@
         } else if (id == viewBinding.topLogBtn.getId()) {
             startActivity(TestLogActivity.class);
 
+        } else if (id == viewBinding.clickCommandTv.getId()) {
+
         }
     }
 
@@ -115,12 +126,15 @@
      */
     private List<String> getTitleList() {
         List<String> s = new ArrayList<>();
-        s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�(1)");
+        s.add("鎼滅储閫嗗彉鍣ㄥ垪琛�(0)");
+        s.add("鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)");
         s.add("鑾峰彇閫嗗彉鍣╫id鍒楄〃(2)");
         s.add("璇诲彇閫嗗彉鍣ㄨ鎯�(3)");
-        s.add("娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)");
+        s.add("瑙g粦閫嗗彉鍣�(4)");
         s.add("涓婁紶oid鍒楄〃缁欎簯绔�(5)");
         s.add("鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)");
+        s.add("鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)");
+//        s.add("瑙g粦閫嗗彉鍣�(8)");
         return s;
     }
 
@@ -132,8 +146,28 @@
     private void startRequest(int position, GatewayBean gatewayBean) {
         String title = getTitleList().get(position);
         switch (title) {
-            case "鎼滅储閫嗗彉鍣ㄥ垪琛�(1)": {
-                HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
+            case "鎼滅储閫嗗彉鍣ㄥ垪琛�(0)": {
+                HdlDeviceLogic.getInstance().searchAllGateway(new GatewayCallBack() {
+                    @Override
+                    public void onSuccess(List<GatewayBean> gatewayBeanList) {
+                        List<GatewayBean> newGatewayBeanList = new ArrayList<>();
+                        for (int i = 0; i < gatewayBeanList.size(); i++) {
+                            if (HdlDeviceLogic.getInstance().isGatewaySpk(gatewayBeanList.get(i).getGatewayType())) {
+                                newGatewayBeanList.add(gatewayBeanList.get(i));
+                            }
+                        }
+                        gsonConvertJsonStr(newGatewayBeanList);
+                    }
+
+                    @Override
+                    public void onError(HDLLinkException e) {
+                        setError(e.getMsg(), e.getCode());
+                    }
+                });
+            }
+            break;
+            case "鎼滅储銆愪綇瀹呫�戦�嗗彉鍣ㄥ垪琛�(1)": {
+                HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() {
                     @Override
                     public void onSuccess(List<GatewayBean> gatewayBeanList) {
                         gsonConvertJsonStr(gatewayBeanList);
@@ -177,14 +211,27 @@
                 });
             }
             break;
-            case "娓呴櫎閫嗗彉鍣ㄤ綇瀹匢d(4)": {
+            case "瑙g粦閫嗗彉鍣�(4)": {
                 TipDialog("涓�鏃︽竻闄ゆ帀閫嗗彉鍣ㄤ綇瀹卛d,閫嗗彉鍣ㄩ渶瑕侀噸鏂扮粦瀹氫綇瀹咃紝鍚﹀垯鏃犳硶娴嬭瘯閫嗗彉鍣ㄦ寚浠�;", new Listener() {
                     @Override
                     public void Confirmation() {
+
                         HdlDeviceLogic.getInstance().clearInverterHomeId(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() {
                             @Override
                             public void onSuccess(Boolean obj) {
-                                gsonConvertJsonStr(obj);
+                                s += "瑙g粦銆愭湰鍦般�戞垚鍔�--->";
+                                HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
+                                    @Override
+                                    public void onSuccess(Boolean obj) {
+                                        s += "瑙g粦銆愪簯绔�戞垚鍔�";
+                                        gsonConvertJsonStr(s);
+                                    }
+
+                                    @Override
+                                    public void onFailure(HDLException e) {
+                                        setError(e.getMsg(), e.getCode());
+                                    }
+                                });
                             }
 
                             @Override
@@ -202,7 +249,7 @@
                     HdlThreadLogic.toast(this, "娌℃湁oid鍒楄〃鏁版嵁锛岃鍏堣幏鍙栭�嗗彉鍣╫id鍒楄〃鏁版嵁锛屽啀閲嶆柊涓婁紶.");
                     return;
                 }
-                HdlDeviceLogic.getInstance().fullUpdateOid(this.mOidList, new CloudCallBeak<Boolean>() {
+                HdlDeviceLogic.getInstance().fullUpdateOid(UserConfigManage.getInstance().getHomeId(), this.mOidList, new CloudCallBeak<Boolean>() {
                     @Override
                     public void onSuccess(Boolean obj) {
                         gsonConvertJsonStr(obj);
@@ -216,7 +263,7 @@
             }
             break;
             case "鑾峰彇閫嗗彉鍣ㄤ笅鎸傝澶囧垪琛�(6)": {
-                HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
+                HdlDeviceLogic.getInstance().getInverterDeviceChildDeviceList(UserConfigManage.getInstance().getHomeId(), gatewayBean.getOid(), new CloudCallBeak<List<CloudInverterChildDeviceBean>>() {
                     @Override
                     public void onSuccess(List<CloudInverterChildDeviceBean> obj) {
                         gsonConvertJsonStr(obj);
@@ -229,6 +276,34 @@
                 });
             }
             break;
+            case "鑾峰彇閫嗗彉鍣ㄧ殑淇℃伅(7)": {
+                TcpClient.getInstance().sendModBusDataToLinkGateway(gatewayBean.getDevice_mac(), "0000001A", TcpClient.FunctionCode.ReadMultipleRegisters, 550, "8", new ModbusCallBack() {
+                    @Override
+                    public void onSuccess(int[] data) {
+                        gsonConvertJsonStr(data);
+                    }
+
+                    @Override
+                    public void onError(HDLLinkException e) {
+                        setError(e.getMsg(), e.getCode());
+                    }
+                });
+            }
+            break;
+            case "瑙g粦閫嗗彉鍣�(8)": {
+                HdlDeviceLogic.getInstance().delInverterDevice(UserConfigManage.getInstance().getHomeId(), gatewayBean.getDeviceId(), new CloudCallBeak<Boolean>() {
+                    @Override
+                    public void onSuccess(Boolean obj) {
+                        gsonConvertJsonStr(obj);
+                    }
+
+                    @Override
+                    public void onFailure(HDLException e) {
+                        setError(e.getMsg(), e.getCode());
+                    }
+                });
+            }
+            break;
             default: {
                 HdlThreadLogic.runMainThread(new Runnable() {
                     @Override

--
Gitblit v1.8.0