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