jinpengyong
2021-12-22 5871fe403caa418b71fe67db7133c202f369afee
获取第三方接口数据城市配置
2 files copied
4 files renamed
1 files deleted
4 files added
3 files modified
169 ■■■■■ changed files
screen-job/src/main/java/com/moral/api/entity/CityConfigAqi.java 11 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/entity/CityConfigWeather.java 11 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/mapper/CityConfigAqiMapper.java 6 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/mapper/CityConfigWeatherMapper.java 16 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/CityConfigAqiService.java 6 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/CityConfigWeatherService.java 16 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java 16 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityConfigAqiServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityConfigServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityConfigWeatherServiceImpl.java 20 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java 16 ●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/task/WeatherTask.java 1 ●●●● patch | view | raw | blame | history
screen-job/src/main/resources/mapper/CityConfigAqiMapper.xml 5 ●●●●● patch | view | raw | blame | history
screen-job/src/main/resources/mapper/CityConfigWeatherMapper.xml 5 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/entity/CityConfigAqi.java
copy from screen-job/src/main/java/com/moral/api/entity/CityConfig.java copy to screen-job/src/main/java/com/moral/api/entity/CityConfigAqi.java
File was copied from screen-job/src/main/java/com/moral/api/entity/CityConfig.java
@@ -9,15 +9,15 @@
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据
 * 城市配置表,用于从墨迹接接口获取aqi数据
 * </p>
 *
 * @author moral
 * @since 2021-10-11
 * @since 2021-12-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class CityConfig extends Model<CityConfig> {
public class CityConfigAqi extends Model<CityConfigAqi> {
    private static final long serialVersionUID = 1L;
@@ -41,11 +41,6 @@
     * 从墨迹获取数据
     */
    private Integer cityId;
    /**
     * 从和风天气获取数据
     */
    private Integer locationId;
    /**
     * 逻辑删除,0:不删除;1:删除
screen-job/src/main/java/com/moral/api/entity/CityConfigWeather.java
File was renamed from screen-job/src/main/java/com/moral/api/entity/CityConfig.java
@@ -9,15 +9,15 @@
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据
 * 城市配置表,用于从和风天气接口获取气象数据
 * </p>
 *
 * @author moral
 * @since 2021-10-11
 * @since 2021-12-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class CityConfig extends Model<CityConfig> {
public class CityConfigWeather extends Model<CityConfigWeather> {
    private static final long serialVersionUID = 1L;
@@ -36,11 +36,6 @@
     * 城市名字
     */
    private String cityName;
    /**
     * 从墨迹获取数据
     */
    private Integer cityId;
    /**
     * 从和风天气获取数据
screen-job/src/main/java/com/moral/api/mapper/CityConfigAqiMapper.java
File was renamed from screen-job/src/main/java/com/moral/api/mapper/CityConfigMapper.java
@@ -1,6 +1,6 @@
package com.moral.api.mapper;
import com.moral.api.entity.CityConfig;
import com.moral.api.entity.CityConfigAqi;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
@@ -9,8 +9,8 @@
 * </p>
 *
 * @author moral
 * @since 2021-10-11
 * @since 2021-12-22
 */
public interface CityConfigMapper extends BaseMapper<CityConfig> {
public interface CityConfigAqiMapper extends BaseMapper<CityConfigAqi> {
}
screen-job/src/main/java/com/moral/api/mapper/CityConfigWeatherMapper.java
New file
@@ -0,0 +1,16 @@
package com.moral.api.mapper;
import com.moral.api.entity.CityConfigWeather;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据 Mapper 接口
 * </p>
 *
 * @author moral
 * @since 2021-12-22
 */
public interface CityConfigWeatherMapper extends BaseMapper<CityConfigWeather> {
}
screen-job/src/main/java/com/moral/api/service/CityConfigAqiService.java
File was renamed from screen-job/src/main/java/com/moral/api/service/CityConfigService.java
@@ -1,6 +1,6 @@
package com.moral.api.service;
import com.moral.api.entity.CityConfig;
import com.moral.api.entity.CityConfigAqi;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -9,8 +9,8 @@
 * </p>
 *
 * @author moral
 * @since 2021-10-11
 * @since 2021-12-22
 */
public interface CityConfigService extends IService<CityConfig> {
public interface CityConfigAqiService extends IService<CityConfigAqi> {
}
screen-job/src/main/java/com/moral/api/service/CityConfigWeatherService.java
New file
@@ -0,0 +1,16 @@
package com.moral.api.service;
import com.moral.api.entity.CityConfigWeather;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据 服务类
 * </p>
 *
 * @author moral
 * @since 2021-12-22
 */
public interface CityConfigWeatherService extends IService<CityConfigWeather> {
}
screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -3,11 +3,11 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.CityAqi;
import com.moral.api.entity.CityConfig;
import com.moral.api.entity.CityConfigAqi;
import com.moral.api.mapper.CityAqiMapper;
import com.moral.api.service.CityAqiService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.api.service.CityConfigService;
import com.moral.api.service.CityConfigAqiService;
import com.moral.constant.Constants;
import com.moral.constant.RedisConstants;
import com.moral.pojo.AQI;
@@ -45,7 +45,7 @@
    private CityAqiMapper cityAqiMapper;
    @Autowired
    private CityConfigService cityConfigService;
    private CityConfigAqiService cityConfigAqiService;
    @Autowired
    private RestTemplate restTemplate;
@@ -66,16 +66,16 @@
        }
        //获取城市配置
        QueryWrapper<CityConfig> wrapper = new QueryWrapper<>();
        QueryWrapper<CityConfigAqi> wrapper = new QueryWrapper<>();
        wrapper.select("city_code", "city_id").eq("is_delete", Constants.NOT_DELETE);
        List<CityConfig> list = cityConfigService.list(wrapper);
        List<CityConfigAqi> list = cityConfigAqiService.list(wrapper);
        for (CityConfig cityConfig : list) {
            Integer cityCode = cityConfig.getCityCode();
        for (CityConfigAqi cityConfigAqi : list) {
            Integer cityCode = cityConfigAqi.getCityCode();
            Map<String, Object> data;
            try {
                //从第三方接口获取数据
                data = restTemplate.getForObject("http://sapi.7drlb.com/api/mj?cityID={1}&apiKey=aqi", Map.class, cityConfig.getCityId());
                data = restTemplate.getForObject("http://sapi.7drlb.com/api/mj?cityID={1}&apiKey=aqi", Map.class, cityConfigAqi.getCityId());
            } catch (Exception e) {
                continue;
            }
screen-job/src/main/java/com/moral/api/service/impl/CityConfigAqiServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.moral.api.service.impl;
import com.moral.api.entity.CityConfigAqi;
import com.moral.api.mapper.CityConfigAqiMapper;
import com.moral.api.service.CityConfigAqiService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据 服务实现类
 * </p>
 *
 * @author moral
 * @since 2021-12-22
 */
@Service
public class CityConfigAqiServiceImpl extends ServiceImpl<CityConfigAqiMapper, CityConfigAqi> implements CityConfigAqiService {
}
screen-job/src/main/java/com/moral/api/service/impl/CityConfigServiceImpl.java
File was deleted
screen-job/src/main/java/com/moral/api/service/impl/CityConfigWeatherServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.moral.api.service.impl;
import com.moral.api.entity.CityConfigWeather;
import com.moral.api.mapper.CityConfigWeatherMapper;
import com.moral.api.service.CityConfigWeatherService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * 城市配置表,用于从第三方接口获取数据 服务实现类
 * </p>
 *
 * @author moral
 * @since 2021-12-22
 */
@Service
public class CityConfigWeatherServiceImpl extends ServiceImpl<CityConfigWeatherMapper, CityConfigWeather> implements CityConfigWeatherService {
}
screen-job/src/main/java/com/moral/api/service/impl/CityWeatherServiceImpl.java
@@ -2,10 +2,10 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.moral.api.entity.CityConfig;
import com.moral.api.entity.CityConfigWeather;
import com.moral.api.entity.CityWeather;
import com.moral.api.mapper.CityWeatherMapper;
import com.moral.api.service.CityConfigService;
import com.moral.api.service.CityConfigWeatherService;
import com.moral.api.service.CityWeatherService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.moral.constant.Constants;
@@ -36,7 +36,7 @@
    private CityWeatherMapper cityWeatherMapper;
    @Autowired
    private CityConfigService cityConfigService;
    private CityConfigWeatherService cityConfigWeatherService;
    @Autowired
    private RestTemplate restTemplate;
@@ -47,12 +47,12 @@
    @Override
    public void insertCityWeather() {
        //获取城市配置
        QueryWrapper<CityConfig> wrapper = new QueryWrapper<>();
        QueryWrapper<CityConfigWeather> wrapper = new QueryWrapper<>();
        wrapper.select("city_code", "location_id").eq("is_delete", Constants.NOT_DELETE);
        List<CityConfig> list = cityConfigService.list(wrapper);
        for (CityConfig cityConfig : list) {
            Integer cityCode = cityConfig.getCityCode();
            Integer locationId = cityConfig.getLocationId();
        List<CityConfigWeather> list = cityConfigWeatherService.list(wrapper);
        for (CityConfigWeather cityConfigWeather : list) {
            Integer cityCode = cityConfigWeather.getCityCode();
            Integer locationId = cityConfigWeather.getLocationId();
            Map<String, Object> data = restTemplate.getForObject("https://api.qweather.com/v7/weather/now?key=da05c6c4852d4f7aa3364a9236ee9e26&gzip=n&location={1}", Map.class, locationId);
            Map<String, Object> now = (Map<String, Object>) data.get("now");
            CityWeather cityWeather = new CityWeather();
screen-job/src/main/java/com/moral/api/task/WeatherTask.java
@@ -3,7 +3,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.moral.api.service.CityConfigService;
import com.moral.api.service.CityWeatherService;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
screen-job/src/main/resources/mapper/CityConfigAqiMapper.xml
copy from screen-job/src/main/resources/mapper/CityConfigMapper.xml copy to screen-job/src/main/resources/mapper/CityConfigAqiMapper.xml
File was copied from screen-job/src/main/resources/mapper/CityConfigMapper.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.CityConfigMapper">
<mapper namespace="com.moral.api.mapper.CityConfigAqiMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityConfig">
    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityConfigAqi">
        <id column="id" property="id"/>
        <result column="city_code" property="cityCode"/>
        <result column="city_name" property="cityName"/>
        <result column="city_id" property="cityId"/>
        <result column="location_id" property="locationId"/>
        <result column="is_delete" property="isDelete"/>
    </resultMap>
screen-job/src/main/resources/mapper/CityConfigWeatherMapper.xml
File was renamed from screen-job/src/main/resources/mapper/CityConfigMapper.xml
@@ -1,13 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.moral.api.mapper.CityConfigMapper">
<mapper namespace="com.moral.api.mapper.CityConfigWeatherMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityConfig">
    <resultMap id="BaseResultMap" type="com.moral.api.entity.CityConfigWeather">
        <id column="id" property="id"/>
        <result column="city_code" property="cityCode"/>
        <result column="city_name" property="cityName"/>
        <result column="city_id" property="cityId"/>
        <result column="location_id" property="locationId"/>
        <result column="is_delete" property="isDelete"/>
    </resultMap>