import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.paascloud.HttpClientUtils;
import com.paascloud.provider.model.vo.WeatherVo;
import com.paascloud.provider.service.WeatherService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
@Slf4j
@Service
public class WeatherServiceImpl implements WeatherService {
private static final String weatherApi_touTiao = "https://www.toutiao.com/stream/widget/local_weather/data/?city=";
/**
* @Author luojiawen
* @Description 十五天的天气数据
* @Date 2020/10/13 14:05
* @Param [cityName]
* @return com.alibaba.fastjson.JSONObject
**/
public Map<String,WeatherVo> getWeatherByCityNameFifteenDays(String cityName) {
JSONObject jsonWeath = HttpClientUtils.httpGet(weatherApi_touTiao + cityName);
jsonWeath = jsonWeath.getJSONObject("data");
jsonWeath = jsonWeath.getJSONObject("weather");
JSONArray forecastList = jsonWeath.getJSONArray("forecast_list");
Map<String,WeatherVo> weatherVoMap=new HashMap<>();
for(int i = 0 ; i<forecastList.size(); i++) {
WeatherVo weatherVo=new WeatherVo();
JSONObject dateWeather = (JSONObject) forecastList.get(i);
weatherVo.setCondition(dateWeather.getString("condition"));
weatherVo.setDate(dateWeather.getString("date"));
weatherVo.setHighTemperature(dateWeather.getString("high_temperature"));
weatherVo.setLowTemperature(dateWeather.getString("low_temperature"));
weatherVo.setWindDirection(dateWeather.getString("wind_direction"));
weatherVo.setWindLevel(dateWeather.getString("wind_level"));
weatherVoMap.put(weatherVo.getDate(),weatherVo);
}
return weatherVoMap;
}
}