From 9b5c86d852fd94c0f01497d7571b27419ab17c58 Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期四, 07 十二月 2023 09:20:11 +0800
Subject: [PATCH] 提交粮情协协议-控制柜-3

---
 src/main/java/com/fzzy/gateway/util/GatewayHttpUtil.java                  |   57 ++++++++++++++++++++++++++++
 src/main/java/com/fzzy/data/ConfigData.java                               |    3 +
 src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java          |    7 +--
 src/main/java/com/fzzy/protocol/fzzy/cmd/BaseRemoteImpl.java              |    2 
 src/main/java/com/fzzy/protocol/fzzy/server/MsgConsumer.java              |    2 
 src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java                 |   13 ++++--
 src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java |   10 ++--
 src/main/resources/application.yml                                        |    1 
 8 files changed, 80 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/fzzy/data/ConfigData.java b/src/main/java/com/fzzy/data/ConfigData.java
index f890e0a..6d80342 100644
--- a/src/main/java/com/fzzy/data/ConfigData.java
+++ b/src/main/java/com/fzzy/data/ConfigData.java
@@ -23,4 +23,7 @@
 
     @Value("${igds.img-path}")
     private String imgPath;
+
+    @Value("${igds.weather-url}")
+    private String weatherUrl;
 }
diff --git a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
index 8daf788..0257ad6 100644
--- a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
+++ b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
@@ -7,6 +7,7 @@
 import com.fzzy.api.service.*;
 import com.fzzy.api.utils.ContextUtil;
 import com.fzzy.api.utils.RedisUtil;
+import com.fzzy.data.ConfigData;
 import com.fzzy.gateway.api.GatewayRemoteManager;
 import com.fzzy.gateway.data.BaseReqData;
 import com.fzzy.gateway.data.WeatherWebDto;
@@ -14,6 +15,7 @@
 import com.fzzy.gateway.entity.GatewayDevice;
 import com.fzzy.gateway.service.GatewayConfService;
 import com.fzzy.gateway.util.GatewayHttpUtil;
+import jdk.nashorn.internal.runtime.regexp.joni.Config;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
@@ -33,7 +35,7 @@
 @Component(GatewayTimerScheduled.BEAN_ID)
 public class GatewayTimerScheduled {
 
-        public static String DEFAULT_URL = "https://v1.yiketianqi.com/api?unescape=1&version=v61&appid={appId}&appsecret={appsecret}&cityid={cityid}";
+    public static String DEFAULT_URL = "https://v1.yiketianqi.com/api?unescape=1&version=v61&appid={appId}&appsecret={appsecret}&cityid={cityid}";
     public static String DEFAULT_APP_ID = "49421971";
     public static String DEFAULT_APP_SECRET = "JmJE48Fv";
     public static String DEFAULT_CITYID = "101270101";//鎴愰兘
@@ -45,6 +47,8 @@
     private GatewayConfService confService;
     @Resource
     private GatewayRemoteManager gatewayRemoteManager;
+    @Resource
+    private ConfigData configData;
 
 
     /**
@@ -84,12 +88,13 @@
     public void doWeatherExe() {
 
         try {
-            String url = DEFAULT_URL;
+            String url = configData.getWeatherUrl();
+
             url = url.replace("{appId}", DEFAULT_APP_ID).replace("{appsecret}", DEFAULT_APP_SECRET).replace("{cityid}", DEFAULT_CITYID);
 
 
-            log.debug("------姘旇薄URL---{}", url);
-            String result = GatewayHttpUtil.doGet(url, null);
+            log.debug("------姘旇薄璇锋眰淇℃伅URL---{}", url);
+            String result = GatewayHttpUtil.doGet(url);
 
             if (null == result) {
                 log.error("褰撳墠澶栫綉鑾峰彇姘旇薄淇℃伅澶辫触鈥︹��");
diff --git a/src/main/java/com/fzzy/gateway/util/GatewayHttpUtil.java b/src/main/java/com/fzzy/gateway/util/GatewayHttpUtil.java
index 3426d39..91586dd 100644
--- a/src/main/java/com/fzzy/gateway/util/GatewayHttpUtil.java
+++ b/src/main/java/com/fzzy/gateway/util/GatewayHttpUtil.java
@@ -9,6 +9,11 @@
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.util.EntityUtils;
 
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.net.URLEncoder;
 import java.util.Map;
 
@@ -17,6 +22,8 @@
  */
 @Slf4j
 public class GatewayHttpUtil {
+
+    private static final int TIMEOUT_IN_MILLIONS = 5000;
 
     /**
      * 鎵цGET璇锋眰
@@ -62,4 +69,54 @@
         return responseText;
     }
 
+    public static String doGet(String urlStr) {
+        URL url = null;
+        HttpURLConnection conn = null;
+        InputStream is = null;
+        ByteArrayOutputStream baos = null;
+        try {
+            url = new URL(urlStr);
+            conn = (HttpURLConnection) url.openConnection();
+            conn.setReadTimeout(TIMEOUT_IN_MILLIONS);
+            conn.setConnectTimeout(TIMEOUT_IN_MILLIONS);
+            conn.setRequestMethod("GET");
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("Content-Type", "application/json");
+            if (conn.getResponseCode() == 200) {
+                is = conn.getInputStream();
+                baos = new ByteArrayOutputStream();
+                int len = -1;
+                byte[] buf = new byte[128];
+
+                while ((len = is.read(buf)) != -1) {
+                    baos.write(buf, 0, len);
+                }
+                baos.flush();
+                return baos.toString();
+            } else {
+                throw new RuntimeException(" responseCode is not 200 ... ");
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+
+        } finally {
+            try {
+                if (is != null)
+                    is.close();
+            } catch (IOException e) {
+            }
+            try {
+                if (baos != null)
+                    baos.close();
+            } catch (IOException e) {
+            }
+            conn.disconnect();
+        }
+
+        return null;
+
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
index 017002e..945f152 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/analysis/AnalysisGrain.java
@@ -68,7 +68,7 @@
 
 
             //绮儏瑙f瀽
-            log.info("鎺у埗鏌�--->骞冲彴锛屾帹鍔ㄧ殑绮儏淇℃伅--{}", response);
+            log.info("鎺у埗鏌�--->骞冲彴锛屾帶鍒舵煖杩斿洖绮儏妫�娴嬬粨鏋�--{}", response);
 
             //绮儏灏佽鍜屽鐞�
             if (StringUtils.isEmpty(response.getLayerPerCircle())) {
@@ -91,10 +91,9 @@
 
     //淇℃伅璋冩暣灏佽
     private void buildBizInfo1(Response2102 response) {
-        String depotId = response.getHouseId();
 
         //鑾峰彇璇锋眰淇℃伅
-        BaseReqData reqData = ServerUtils.getSyncReq(depotId);
+        BaseReqData reqData = ServerUtils.getSyncReq(response.getHouseId());
 
         if (null == reqData) {
             log.error("--绮儏灏佽瑙f瀽锛屾湭鑾峰彇鍒拌姹傜浉鍏冲弬鏁�----");
@@ -132,7 +131,7 @@
         //鏍瑰彿
         int cableNum = 1, position = 0;
 
-        double curTemp = response.getTMin();
+        double curTemp;
         String[] attr = response.getPoints().split(",");
         int x = 0, y = 0, z = 0;
         for (int i = 0; i < attr.length; i++) {
diff --git a/src/main/java/com/fzzy/protocol/fzzy/cmd/BaseRemoteImpl.java b/src/main/java/com/fzzy/protocol/fzzy/cmd/BaseRemoteImpl.java
index ae09963..3425697 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/cmd/BaseRemoteImpl.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/cmd/BaseRemoteImpl.java
@@ -41,7 +41,7 @@
     }
 
     public InvokeResult send(SendMessage message) {
-        log.debug("骞冲彴鍙戦�佹姤鏂�---->>鎺у埗鏌�--{}", message.toString());
+       // log.debug("骞冲彴鍙戦�佹姤鏂�---->>鎺у埗鏌�--{}", message.toString());
         IoSessionQuery sessionFactory = FzzyServerEngine.ioServer.getSessionQuery();
         List<IoSession> sessions = sessionFactory.getAllSession();
         IoSession session = null;
diff --git a/src/main/java/com/fzzy/protocol/fzzy/server/MsgConsumer.java b/src/main/java/com/fzzy/protocol/fzzy/server/MsgConsumer.java
index 037dfee..b54f6b1 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/server/MsgConsumer.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/server/MsgConsumer.java
@@ -43,7 +43,7 @@
             reMessage.setStrMsg(message);
             session.setCompanyId("0000");
 
-            log.debug("鎺у埗鏌滃埌---->>>>骞冲彴锛屾湭瑙f瀽淇℃伅锛欼P={}锛孭ORT={}锛宮essage={}", reMessage.getIp(), reMessage.getPort(), message);
+            log.debug("鎺у埗鏌滃埌---->>>>骞冲彴锛屾殏鏈В鏋愪俊鎭細IP={}锛孭ORT={}锛宮essage={}", reMessage.getIp(), reMessage.getPort(), message);
 
             //璋冪敤瑙f瀽鎺ュ彛寮�濮嬭В鏋�
             if (null == analysisService) {
diff --git a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
index 8b96cef..38e74e7 100644
--- a/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
+++ b/src/main/java/com/fzzy/protocol/fzzy/service/FzzyGatewayGrainService.java
@@ -60,26 +60,26 @@
         try {
 
             //Step 璇锋眰淇℃伅鏀惧叆鍐呭瓨
-            ServerUtils.addSyncReq2Map(device.getDepotId(), reqData);
+            ServerUtils.addSyncReq2Map(device.getDepotIdSys(), reqData);
 
             // Step1 鐢熸垚绮儏淇℃伅
             SendMessage message = GrainCommandBuilder.getInstance().buildMessage(device,apiCommonDevice);
             // 鍙戦�佸懡浠�
             InvokeResult result = send(device.getIp(), device.getPort(), message.getByteMsg());
 
-            log.error("骞冲彴------>>>>鎺у埗鏌滐細绮儏妫�娴�-{}", message);
+            log.error("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佺伯鎯呮娴嬪懡浠�-{}", message);
 
             // 灏佽杩斿洖淇℃伅
             if (!InvokeResult.SUCCESS.getCode().equals(result.getCode())) {
-                log.error("骞冲彴------>>>>鎺у埗鏌滐細绮儏妫�娴�-澶辫触{}", result.getMessage());
+                log.error("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佺伯鎯呮娴嬪懡浠�-澶辫触{}", result.getMessage());
                 resp.setCode(500);
-                resp.setMsg("骞冲彴------>>>>鎺у埗鏌滐細绮儏妫�娴�-澶辫触锛�" + result.getMessage());
+                resp.setMsg("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佺伯鎯呮娴嬪懡浠�-澶辫触锛�" + result.getMessage());
             }
 
         } catch (Exception e) {
             log.error("绮儏妫�娴嬪紓甯革細{}", e);
             resp.setCode(500);
-            resp.setMsg("绮儏妫�娴嬪紓甯革細" + e.getMessage());
+            resp.setMsg("骞冲彴------>>>>鎺у埗鏌滐細鍙戦�佺伯鎯呮娴嬪懡浠わ細" + e.getMessage());
             return resp;
         }
         return resp;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index fc4387b..80e8180 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -42,3 +42,4 @@
     companyId: 5326
   file-path: C:/app/igds-api
   img-path: D:/IGDS/FILE/
+  weather-url: https://v1.yiketianqi.com/api?unescape=1&version=v61&appid={appId}&appsecret={appsecret}&cityid={cityid}

--
Gitblit v1.9.3