From 2782eb2cdc081578f3d77e1a23f3c5a0472a97fc Mon Sep 17 00:00:00 2001
From: simon <861719797@qq.com>
Date: Tue, 26 Sep 2023 14:34:16 +0800
Subject: [PATCH 1/3] =?UTF-8?q?MQ=E9=85=8D=E7=BD=AE=E8=B0=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
iot-modules/iot-box-user-api/pom.xml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/iot-modules/iot-box-user-api/pom.xml b/iot-modules/iot-box-user-api/pom.xml
index 83754aa..40c6cf7 100644
--- a/iot-modules/iot-box-user-api/pom.xml
+++ b/iot-modules/iot-box-user-api/pom.xml
@@ -28,11 +28,6 @@
iot-third
0.0.1-SNAPSHOT
-
- com.qiuguo.iot
- iot-rabbit
- 0.0.1-SNAPSHOT
-
org.springframework.boot
From 642713daeb3c6776c183a47c5a31d576d99e93df Mon Sep 17 00:00:00 2001
From: simon <861719797@qq.com>
Date: Tue, 26 Sep 2023 16:18:26 +0800
Subject: [PATCH 2/3] =?UTF-8?q?MQ=E9=85=8D=E7=BD=AE=E8=B0=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../api/config/TopicRabbitListenerConfig.java | 28 +++++++++++++++++++
.../iot/user/api/listener/YunxiListener.java | 2 +-
2 files changed, 29 insertions(+), 1 deletion(-)
create mode 100644 iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java
diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java
new file mode 100644
index 0000000..f27641e
--- /dev/null
+++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java
@@ -0,0 +1,28 @@
+package com.qiuguo.iot.user.api.config;
+
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+
+import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+
+
+/**
+ * @author simon
+ * @date 2023/9/26
+ * @description
+ **/
+@Configuration
+public class TopicRabbitListenerConfig {
+ @Bean
+ public SimpleRabbitListenerContainerFactory simpleRabbitListenerContainerFactory(ConnectionFactory connectionFactory) {
+ // 配置消息监听容器工厂
+ SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
+ factory.setConnectionFactory(connectionFactory);
+ factory.setConcurrentConsumers(3); // 并发消费者数量
+ factory.setMaxConcurrentConsumers(10); // 最大并发消费者数量
+ factory.setPrefetchCount(1); // 每个消费者的消息预取数量
+ return factory;
+ }
+}
diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java
index ceb3c1b..2e1e508 100644
--- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java
+++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java
@@ -18,7 +18,7 @@ import java.io.IOException;
@Component
@Slf4j
public class YunxiListener {
- @RabbitListener(queues = YunxiRabbitConst.QUEUE_YUNXI)
+ @RabbitListener(queues = YunxiRabbitConst.QUEUE_YUNXI, containerFactory = "simpleRabbitListenerContainerFactory")
public void processYunxiQueue(Channel channel, Message message) throws IOException {
String messageContent = new String(message.getBody(), "UTF-8");
System.out.println("YunxiListener msg " + messageContent);
From b691b889e8053470801823c77414fe360e794226 Mon Sep 17 00:00:00 2001
From: simon <861719797@qq.com>
Date: Tue, 26 Sep 2023 18:36:24 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=A9=E6=B0=94=E5=93=8D=E5=BA=94?=
=?UTF-8?q?=E7=BB=93=E6=9E=84=E5=A2=9E=E5=8A=A0=E6=8F=8F=E8=BF=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../iot/data/resp/third/weather/Daily.java | 56 ++++++++++++++++++-
.../iot/data/resp/third/weather/Hourly.java | 52 +++++++++++++++++
.../iot/data/resp/third/weather/Result.java | 12 ++++
.../data/resp/third/weather/WeatherResp.java | 7 +++
.../iot/data/resp/third/weather/Wind.java | 14 +++++
.../data/resp/third/weather/WindSpeed.java | 7 +++
6 files changed, 147 insertions(+), 1 deletion(-)
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Daily.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Daily.java
index acbeddb..570b4ad 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Daily.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Daily.java
@@ -7,24 +7,78 @@ import java.util.List;
/**
* @author simon
* @date 2023/9/21
- * @description
+ * @description 按整天天气数据
**/
@Data
public class Daily {
private String status;
+
+ /**
+ * 白天降水数据
+ */
private List precipitation_08h_20h;
+ /**
+ * 夜晚降水数据
+ */
private List precipitation_20h_32h;
+ /**
+ * 降水数据
+ */
private List precipitation;
+
+ /**
+ * 全天地表 2 米气温
+ */
private List temperature;
+ /**
+ * 白天地表 2 米气温
+ */
private List temperature_08h_20h;
+ /**
+ * 夜晚地表 2 米气温
+ */
private List temperature_20h_32h;
+
+ /**
+ * 全天地表 10 米风速
+ */
private List wind;
+ /**
+ * 白天地表 10 米风速
+ */
private List wind_08h_20h;
+ /**
+ * 夜晚地表 10 米风速
+ */
private List wind_20h_32h;
+
+ /**
+ * 地表 2 米相对湿度(%)
+ */
private List humidity;
+
+ /**
+ * 云量(0.0-1.0)
+ */
private List cloudrate;
+
+ /**
+ * 地面气压
+ */
private List pressure;
+
+ /**
+ * 地表水平能见度
+ */
private List visibility;
+
+ /**
+ * 向下短波辐射通量(W/M2)
+ */
private List dswrf;
+
+ /**
+ * 生活指数
+ */
private LifeIndex life_index;
}
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Hourly.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Hourly.java
index df50cf5..28f578c 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Hourly.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Hourly.java
@@ -4,19 +4,71 @@ import lombok.Data;
import java.util.List;
+/**
+ * 按小时天气数据
+ */
@Data
public class Hourly {
+
private String status;
+
+ /**
+ * 天气描述
+ */
private String description;
+
+ /**
+ * 降水数据
+ */
private List precipitation;
+
+ /**
+ * 地表 2 米气温
+ */
private List temperature;
+
+ /**
+ * 体感温度
+ */
private List apparent_temperature;
+
+ /**
+ * 风
+ */
private List wind;
+
+ /**
+ * 地表 2 米相对湿度(%)
+ */
private List humidity;
+
+ /**
+ * 云量(0.0-1.0)
+ */
private List cloudrate;
+
+ /**
+ * 天气现象
+ */
private List skycon;
+
+ /**
+ * pressure
+ */
private List pressure;
+
+ /**
+ * 地表水平能见度
+ */
private List visibility;
+
+ /**
+ * 向下短波辐射通量(W/M2)
+ */
private List dswrf;
+
+ /**
+ * 空气质量
+ */
private AirQuality air_quality;
}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Result.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Result.java
index d1b46ec..690ab26 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Result.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Result.java
@@ -4,8 +4,20 @@ import lombok.Data;
@Data
public class Result {
+ /**
+ * 按天小时数据
+ */
private Hourly hourly;
+
+ /**
+ * 按天天气数据
+ */
private Daily daily;
+
private Integer primary;
+
+ /**
+ * 按天天气数据
+ */
private String forecast_keypoint;
}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WeatherResp.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WeatherResp.java
index 15a0a45..1abb11b 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WeatherResp.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WeatherResp.java
@@ -4,6 +4,10 @@ import lombok.Data;
import java.util.List;
+/**
+ * 文档地址
+ * https://docs.caiyunapp.com/docs/daily
+ */
@Data
public class WeatherResp {
private String status;
@@ -15,5 +19,8 @@ public class WeatherResp {
private String timezone;
private Long server_time;
private List location;
+ /**
+ * 天气结果
+ */
private Result result;
}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Wind.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Wind.java
index 68563f1..12d15f1 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Wind.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/Wind.java
@@ -7,13 +7,27 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
+/**
+ * 全天地表 10 米风速
+ */
public class Wind {
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm", timezone = "GMT+8")
private Date datetime;
+ /**
+ * 风速
+ */
private Double speed;
+
+ /**
+ * 风向
+ */
private Double direction;
private WindSpeed max;
private WindSpeed min;
+
+ /**
+ * 平均
+ */
private WindSpeed avg;
}
\ No newline at end of file
diff --git a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WindSpeed.java b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WindSpeed.java
index bbab749..447c5f4 100644
--- a/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WindSpeed.java
+++ b/iot-common/iot-data/src/main/java/com/qiuguo/iot/data/resp/third/weather/WindSpeed.java
@@ -9,6 +9,13 @@ import lombok.Data;
**/
@Data
public class WindSpeed {
+ /**
+ * 风速
+ */
private Double speed;
+
+ /**
+ * 风向
+ */
private Double direction;
}