From 236cf59aae727d304487676413c4337f73b16e67 Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期二, 16 一月 2024 12:14:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'orgin/igds-api-gateway' into igds-api-gateway

---
 src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java |  155 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 150 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
index a29e503..8b6907e 100644
--- a/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
+++ b/src/main/java/com/fzzy/gateway/controller/GatewayDeviceController.java
@@ -71,6 +71,143 @@
         return "SUCCESS";
     }
 
+
+    /**
+     * 涓嬭鍒嗘満娴嬭瘯鍏ュ彛
+     *
+     * @param param
+     * @return
+     */
+    @PostMapping("/test/IDE")
+    public @ResponseBody
+    String testIDE(@RequestBody GateWayParam param) throws Exception {
+
+        if (StringUtils.isEmpty(param.getBizType())) {
+            return "ERROR:娌℃湁鑾峰彇鍒颁笟鍔$被鍨嬶紝鎵ц澶辫触";
+        }
+
+        //鑾峰彇鍒嗘満閰嶇疆
+        if ("syncConf".equals(param.getBizType())) {
+            return syncConf(param);
+        }
+
+        if ("writeConf".equals(param.getBizType())) {
+            return writeConf(param);
+        }
+
+        if ("initParam".equals(param.getBizType())) {
+            return initCable(param);
+        }
+
+        if ("disconnect".equals(param.getBizType())) {
+            return disconnect(param);
+        }
+
+        if ("transparent".equals(param.getBizType())) {
+            return transparent(param);
+        }
+
+        return "SUCCESS";
+    }
+
+
+    private String transparent(GateWayParam param) {
+
+        String deviceId = param.getDeviceId();
+
+        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+
+        BaseReqData reqData = new BaseReqData();
+        reqData.setDeviceId(device.getDeviceId());
+        reqData.setProductId(device.getProductId());
+        reqData.setDeviceName(device.getDeviceName());
+        reqData.setDevice(device);
+        reqData.setAutoReplay(false);
+
+        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).transparent(reqData);
+        if (BaseResp.CODE_200 != resp.getCode()) {
+            return "ERROR锛�" + resp.getMsg();
+        }
+        return "SUCCESS";
+    }
+
+    private String disconnect(GateWayParam param) {
+        String deviceId = param.getDeviceId();
+
+        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+
+        BaseReqData reqData = new BaseReqData();
+        reqData.setDeviceId(device.getDeviceId());
+        reqData.setProductId(device.getProductId());
+        reqData.setDeviceName(device.getDeviceName());
+        reqData.setDevice(device);
+        reqData.setAutoReplay(false);
+
+        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).disconnect(reqData);
+        if (BaseResp.CODE_200 != resp.getCode()) {
+            return "ERROR锛�" + resp.getMsg();
+        }
+        return "SUCCESS";
+    }
+
+    private String initCable(GateWayParam param) {
+        String deviceId = param.getDeviceId();
+
+        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+
+        BaseReqData reqData = new BaseReqData();
+        reqData.setDeviceId(device.getDeviceId());
+        reqData.setProductId(device.getProductId());
+        reqData.setDeviceName(device.getDeviceName());
+        reqData.setDevice(device);
+        reqData.setAutoReplay(false);
+
+        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).initCable(reqData);
+        if (BaseResp.CODE_200 != resp.getCode()) {
+            return "ERROR锛�" + resp.getMsg();
+        }
+        return "SUCCESS";
+    }
+
+    private String syncConf(GateWayParam param) {
+
+        String deviceId = param.getDeviceId();
+
+        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+
+        BaseReqData reqData = new BaseReqData();
+        reqData.setDeviceId(device.getDeviceId());
+        reqData.setProductId(device.getProductId());
+        reqData.setDeviceName(device.getDeviceName());
+        reqData.setDevice(device);
+        reqData.setAutoReplay(false);
+
+        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncConf(reqData);
+        if (BaseResp.CODE_200 != resp.getCode()) {
+            return "ERROR锛�" + resp.getMsg();
+        }
+        return "SUCCESS";
+    }
+
+    private String writeConf(GateWayParam param) {
+        String deviceId = param.getDeviceId();
+
+        GatewayDevice device = GatewayUtils.getCacheByDeviceId(deviceId);
+
+        BaseReqData reqData = new BaseReqData();
+        reqData.setDeviceId(device.getDeviceId());
+        reqData.setProductId(device.getProductId());
+        reqData.setDeviceName(device.getDeviceName());
+        reqData.setDevice(device);
+        reqData.setAutoReplay(false);
+
+        BaseResp resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).writeConf(reqData);
+        if (BaseResp.CODE_200 != resp.getCode()) {
+            return "ERROR锛�" + resp.getMsg();
+        }
+        return "SUCCESS";
+    }
+
     /**
      * 鍒濆鍖栬溅鐗岃瘑鍒�
      *
@@ -98,7 +235,7 @@
             reqData = new BaseReqData(device);
             reqData.setIndex(i);
             syncLprService = gatewayRemoteManager.getSyncLprService(device.getSyncProtocol());
-            if(null == syncLprService) continue;
+            if (null == syncLprService) continue;
             syncLprService.initLpr(reqData);
             i++;
         }
@@ -126,10 +263,10 @@
             return "ERROR锛氬綋鍓嶈澶囨病鏈夐厤缃竷绾胯鍒欙紝鏃犳硶鎵ц";
         }
 
-        BaseResp resp =null;
-        if(GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())){
+        BaseResp resp;
+        if (GatewayDeviceProtocol.DEVICE_TEST.getCode().equals(device.getSyncProtocol())) {
             resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrain(reqData);
-        }else{
+        } else {
             reqData.setAutoReplay(false);
             resp = gatewayRemoteManager.getSyncGrainService(device.getSyncProtocol()).syncGrain(reqData);
         }
@@ -159,17 +296,25 @@
         BaseReqData reqData;
         BaseResp resp;
         for (GatewayDevice device : list) {
+
+            //濡傛灉涓嶆槸绮儏鍒嗘満璺宠繃
+            if (!GatewayDeviceType.TYPE_07.getCode().equals(device.getType())) {
+                continue;
+            }
             reqData = new BaseReqData();
+            reqData.setProductId(device.getProductId());
+            reqData.setDeviceName(device.getDeviceName());
             reqData.setDeviceId(param.getDeviceId());
             reqData.setDayTime(param.getDayTime());
             reqData.setDevice(device);
 
+            //鑾峰彇鍒�
             resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrainKafka(reqData);
 
             //鑷姩鎺ㄩ��
             if (BaseResp.CODE_200 == resp.getCode()) {
                 reqData.setData(resp.getData());
-                gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByKafka(reqData);
+                gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByHand(reqData);
             }
         }
 

--
Gitblit v1.9.3