screen-job/src/main/java/com/moral/api/entity/CityConfigAqi.javacopy 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.xmlcopy 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>