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; }