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