From f7178996ca77a1bccc941c0e7a73b36803e508cb Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期五, 01 三月 2024 16:13:11 +0800
Subject: [PATCH] 优化协议
---
src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java | 104 ++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 89 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
index 147089f..53a6984 100644
--- a/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
+++ b/src/main/java/com/fzzy/gateway/GatewayTimerScheduled.java
@@ -1,30 +1,26 @@
package com.fzzy.gateway;
import com.alibaba.fastjson.JSON;
-import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.GatewayDeviceProtocol;
-import com.fzzy.api.entity.ApiConfs;
-import com.fzzy.api.service.*;
-import com.fzzy.api.utils.ContextUtil;
-import com.fzzy.api.utils.RedisUtil;
+import com.fzzy.api.data.GatewayDeviceType;
+import com.fzzy.api.utils.DateUtil;
+import com.fzzy.data.ConfigData;
import com.fzzy.gateway.api.GatewayRemoteManager;
import com.fzzy.gateway.data.BaseReqData;
+import com.fzzy.gateway.data.BaseResp;
import com.fzzy.gateway.data.WeatherWebDto;
import com.fzzy.gateway.entity.GatewayConf;
import com.fzzy.gateway.entity.GatewayDevice;
import com.fzzy.gateway.service.GatewayConfService;
+import com.fzzy.gateway.service.GatewayDeviceTestPR;
import com.fzzy.gateway.util.GatewayHttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
-import org.apache.commons.lang.time.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
/**
* 缃戝叧鐩稿叧鐨勫畾鏃跺櫒
@@ -33,7 +29,7 @@
@Component(GatewayTimerScheduled.BEAN_ID)
public class GatewayTimerScheduled {
- public static String DEFAULT_URL = "https://v0.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,7 +41,11 @@
private GatewayConfService confService;
@Resource
private GatewayRemoteManager gatewayRemoteManager;
+ @Resource
+ private ConfigData configData;
+ @Resource
+ private GatewayDeviceTestPR gatewayDeviceTestPR;
/**
* <p>
@@ -58,7 +58,46 @@
doHeartbeat();
}
+ /**
+ * <p>
+ * 绮儏姣忓ぉ11鐐圭┛涓婂尯
+ */
+ @Scheduled(cron = "0 0 11 * * ?")
+ public void scheduledGrain() {
+ //鑾峰彇璁惧閰嶇疆锛屽彧閽堝绮儏璁惧杩涜鎵ц
+ log.info("瀹氭椂kafka绮儏鎺ㄩ��");
+ List<GatewayDevice> list = gatewayDeviceTestPR.listAll();
+ if (null == list || list.isEmpty()) {
+ log.error("涓鸿幏鍙栧埌绯荤粺涓澶囬厤缃紝鍙栨秷鎵ц\"");
+ return ;
+ }
+ 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(device.getDeviceId());
+ reqData.setDayTime(new Date());
+ reqData.setDevice(device);
+
+ //鑾峰彇鍒�
+ resp = gatewayRemoteManager.getGatewayTestService(device.getPushProtocol()).testGrainKafka(reqData);
+ log.info("resp = "+resp.toString());
+ //鑷姩鎺ㄩ��
+ if (BaseResp.CODE_200 == resp.getCode()) {
+ reqData.setData(resp.getData());
+ gatewayRemoteManager.getDeviceReportService(device.getPushProtocol()).reportGrainDataByHand(reqData);
+ }
+ }
+
+ }
/**
* <p>
* 姣忛棿闅�3绉掓墽琛屼竴娆′簨浠�
@@ -84,12 +123,29 @@
public void doWeatherExe() {
try {
- String url = DEFAULT_URL;
+ String url = configData.getWeatherPath();
+
+ if (null == url) {
+ url = DEFAULT_URL;
+ }
+ Map<String ,String> parameMap = new HashMap<>();
+ parameMap.put("unescape","1");
+ parameMap.put("version","v61");
+ parameMap.put("appid",DEFAULT_APP_ID);
+ parameMap.put("appsecret",DEFAULT_APP_SECRET);
+ parameMap.put("cityid",DEFAULT_CITYID);
url = url.replace("{appId}", DEFAULT_APP_ID).replace("{appsecret}", DEFAULT_APP_SECRET).replace("{cityid}", DEFAULT_CITYID);
+ url = url.replace("{appId}", DEFAULT_APP_ID).replace("{appsecret}", DEFAULT_APP_SECRET);
- log.debug("------姘旇薄URL---{}", url);
- String result = GatewayHttpUtil.doGet(url, null);
+ if (StringUtils.isNotEmpty(configData.getCityId())) {
+ url = url.replace("{cityid}", configData.getCityId());
+ } else {
+ url = url.replace("{cityid}", DEFAULT_CITYID);
+ }
+
+ log.debug("------姘旇薄璇锋眰淇℃伅URL---{}", url);
+ String result = GatewayHttpUtil.doGet(url,parameMap);
if (null == result) {
log.error("褰撳墠澶栫綉鑾峰彇姘旇薄淇℃伅澶辫触鈥︹��");
@@ -107,7 +163,7 @@
log.info("===========================绯荤粺瀹氭椂鑾疯幏鍙栨皵璞′俊鎭�===={}==================", dto);
} catch (Exception e) {
-
+ log.error(e.getMessage(),e);
}
}
@@ -155,4 +211,22 @@
gatewayRemoteManager.getSyncWeightService(device.getSyncProtocol()).syncWeightInfo(reqData);
}
}
+
+ public static void main(String[] args) {
+ try {
+ Map<String ,String> parameMap = new HashMap<>();
+ parameMap.put("unescape","1");
+ parameMap.put("version","v61");
+ parameMap.put("appid","49421971");
+ parameMap.put("appsecret","JmJE48Fv");
+ parameMap.put("cityid","101270101");
+ String result = GatewayHttpUtil.doGet("https://v1.yiketianqi.com/api?unescape=1&version=v61&appid=49421971&appsecret=JmJE48Fv&cityid=101270101", parameMap);
+
+
+ System.out.println(result);
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ }
}
--
Gitblit v1.9.3