screen-api/src/main/java/com/moral/api/controller/AqiController.java | ●●●●● patch | view | raw | blame | history | |
screen-api/src/main/java/com/moral/api/controller/WeatherController.java | ●●●●● patch | view | raw | blame | history | |
screen-api/src/main/java/com/moral/api/service/CityAqiService.java | ●●●●● patch | view | raw | blame | history | |
screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java | ●●●●● patch | view | raw | blame | history |
screen-api/src/main/java/com/moral/api/controller/AqiController.java
@@ -42,4 +42,10 @@ List<Map<String, Object>> response = cityAqiService.measuredCompareForecastOfO3(params); return ResultMessage.ok(response); } @GetMapping("queryByRegionCode") public ResultMessage queryByRegionCode(Integer regionCode){ Map<String, Object> value = cityAqiService.queryCityAqiByRegionCode(regionCode); return ResultMessage.ok(value); } } screen-api/src/main/java/com/moral/api/controller/WeatherController.java
New file @@ -0,0 +1,28 @@ package com.moral.api.controller; import com.moral.constant.ResultMessage; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @ClassName WeatherController * @Description TODO * @Author 陈凯裕 * @Date 2021/10/28 8:43 * @Version TODO **/ @Slf4j @Api(tags = {"用户管理"}) @RestController @RequestMapping("/weather") @CrossOrigin(origins = "*", maxAge = 3600) public class WeatherController { @GetMapping("queryByRegionCode") public ResultMessage queryByRegionCode(String regionCode){ return null; } } screen-api/src/main/java/com/moral/api/service/CityAqiService.java
@@ -18,4 +18,13 @@ //臭氧实测和预测对比 List<Map<String, Object>> measuredCompareForecastOfO3(Map<String, Object> params); /** * @Description: 根据地区码查询aqi以及6参 * @Param: [regionCode] * @return: java.util.Map<java.lang.String,java.lang.Object> * @Author: 陈凯裕 * @Date: 2021/10/28 */ Map<String,Object> queryCityAqiByRegionCode(Integer regionCode); } screen-api/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -1,5 +1,6 @@ package com.moral.api.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.moral.api.entity.CityAqi; @@ -8,9 +9,11 @@ import com.moral.api.mapper.ForecastMapper; import com.moral.api.service.CityAqiService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.RedisConstants; import com.moral.util.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -36,6 +39,9 @@ @Autowired private ForecastMapper forecastMapper; @Autowired private RedisTemplate redisTemplate; @Override public List<Map<String, Object>> measuredCompareForecastOfO3(Map<String, Object> params) { @@ -92,4 +98,30 @@ } return result; } @Override public Map<String, Object> queryCityAqiByRegionCode(Integer regionCode) { Map<String,Object> value = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.CITY_AQI,String.valueOf(regionCode)); if(value==null) value = queryCityAqiByRegionCodeFromDB(regionCode); return value; } /** * @Description: 从数据库查询数据 * @Param: [regionCode] * @return: java.util.Map<java.lang.String,java.lang.Object> * @Author: 陈凯裕 * @Date: 2021/10/28 */ private Map<String, Object> queryCityAqiByRegionCodeFromDB(Integer regionCode) { QueryWrapper<CityAqi> wrapper = new QueryWrapper(); wrapper.eq("city_code",regionCode); wrapper.orderByDesc("time"); wrapper.last(true,"limit 1"); CityAqi cityAqi = cityAqiMapper.selectOne(wrapper); String value = cityAqi.getValue(); redisTemplate.opsForHash().put(RedisConstants.CITY_AQI,regionCode,value); return JSON.parseObject(value,Map.class); } }