jinpengyong
2022-03-21 e585442b151615cb5cd57ee1d817e88848b5f5a1
city_aqi小时数据第三方接口变更
1 files modified
18 ■■■■■ changed files
screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java 18 ●●●●● patch | view | raw | blame | history
screen-job/src/main/java/com/moral/api/service/impl/CityAqiServiceImpl.java
@@ -19,7 +19,12 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import org.springframework.web.client.RestTemplate;
@@ -92,13 +97,24 @@
        List<CityAqi> cityAqiList = new ArrayList<>();
        String url = "http://aliv13.data.moji.com/whapi/json/alicityweather/aqi";
        String appcode = "31b6ea8f804a4472be3b633cfee44849";
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.add("Authorization", "APPCODE " + appcode);
        //请求参数
        LinkedMultiValueMap<String, Object> requestParams = new LinkedMultiValueMap<>();
        for (CityConfigAqi cityConfigAqi : list) {
            CityAqi cityAqi = new CityAqi();
            Integer cityCode = cityConfigAqi.getCityCode();
            Map<String, Object> data;
            try {
                //从第三方接口获取数据
                data = restTemplate.getForObject("http://sapi.7drlb.com/api/mj?cityID={1}&apiKey=aqi", Map.class, cityConfigAqi.getCityId());
                requestParams.set("cityId", cityConfigAqi.getCityId());
                HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(requestParams, httpHeaders);
                ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
                data = JSONObject.parseObject(response.getBody(), Map.class);
            } catch (Exception e) {
                continue;
            }