前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >forest获取天气

forest获取天气

作者头像
橘子君丶
发布2023-03-06 13:39:39
6310
发布2023-03-06 13:39:39
举报
文章被收录于专栏:springBoot3.0springBoot3.0

Springboot集成forest获取天气信息

导入依赖

代码语言:javascript
复制
        <dependency>
            <groupId>com.dtflys.forest</groupId>
            <artifactId>spring-boot-starter-forest</artifactId>
            <version>1.5.28</version>
        </dependency>

注册彩云科技

彩云科技平台注册地址

在这里插入图片描述
在这里插入图片描述

等审核通过后得到令牌

创建获取天气的接口

这里需要先注册有些彩云科技,通过第三方api来获取实时天气;

代码语言:javascript
复制
@Repository
public interface MyClient {
   // localtion是指目标地址的经度和纬度
    @Get(url = "http://api.caiyunapp.com/v2.5/你的令牌/${localtion}/realtime.json")
    Map getWeather(@DataVariable("localtion")String localhost);
}

编写service调用代码

代码语言:javascript
复制
@Scheduled(cron = "0 0 0/2 * * ?") //设置定时任务,执行方法
    public ResponseWrapper updateWeather(){
        List<Scenic> scenicList = scenicMapper.selectList(null); //从数据库获取景区经纬度
        for (Scenic scenic :scenicList){
            String localtion = scenic.getScenicLongitude()+","+scenic.getScenicLatitude(); //获取目标地方的经纬度
            Map weather = myClient.getWeather(localtion); //传入经纬度,然后查询实时天气
            Map result = (Map) weather.get("result");
            Map realtime = (Map) result.get("realtime");
            String temperature = realtime.get("temperature").toString();//获取温度
            String skycon = realtime.get("skycon").toString(); //获取下雨或者晴天的信息
            String skycons = null;
            if (skycon.equals("CLEAR_DAY")){
                skycons="晴(白天)";
            }else if (skycon.equals("CLEAR_NIGHT")){
                skycons="晴(夜间)";
            }
            else if (skycon.equals("PARTLY_CLOUDY_DAY")){
                skycons="多云(白天)";
            }
            else if (skycon.equals("PARTLY_CLOUDY_NIGHT")){
                skycons="多云(夜间)";
            }
            else if (skycon.equals("CLOUDY")){
                skycons="阴";
            }
            else if (skycon.equals("LIGHT_HAZE")){
                skycons="轻度雾霾";
            }
            else  if (skycon.equals("MODERATE_HAZE")){
                skycons="中度雾霾";
            }
            else if (skycon.equals("HEAVY_HAZE")){
                skycons="重度雾霾";
            }
            else if (skycon.equals("LIGHT_RAIN")){
                skycons="小雨";
            }
            else if (skycon.equals("MODERATE_RAIN")){
                skycons="中雨";
            }
            else  if (skycon.equals("HEAVY_RAIN")){
                skycons="大雨";
            }
            else if (skycon.equals("STORM_RAIN")){
                skycons="暴雨";
            }
            else if (skycon.equals("FOG")){
                skycons="雾";
            }
            else if (skycon.equals("LIGHT_SNOW")){
                skycons="小雪";
            }
            else  if (skycon.equals("MODERATE_SNOW")){
                skycons="中雪";
            }
            else  if (skycon.equals("HEAVY_SNOW")){
                skycons="大雪";
            }
            else  if (skycon.equals("STORM_SNOW")){
                skycons="暴雪";
            }
            else if (skycon.equals("DUST")){
                skycons="浮尘";
            }
            else  if (skycon.equals("SAND")){
                skycons="沙尘";
            }
            else if (skycon.equals("WIND")){
                skycons="大风";
            }
            String weathers = temperature.substring(0,temperature.indexOf(".")) + "°C "+skycons;
            scenic.setWeather(weathers);
            scenicMapper.updateById(scenic); //将天气信息存入数据库
        }
        return null;
    }

开启定时任务的主方法注解

代码语言:javascript
复制
@SpringBootApplication
@EnableScheduling //开启定时任务
@ForestScan(basePackages = "com.tour.client") //扫描client
public class TourApplication {

    public static void main(String[] args) {
        SpringApplication.run(TourApplication.class, args);
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-12-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Springboot集成forest获取天气信息
    • 导入依赖
      • 注册彩云科技
        • 创建获取天气的接口
          • 编写service调用代码
            • 开启定时任务的主方法注解
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档