package shop.alien.api.feign;

import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 和风GeoAPI
 *
 * @author ssk
 * @version 1.0
 * @date 2025/3/17 13:17
 */
@FeignClient(url = "https://geoapi.qweather.com/v2", name = "heFengGeoApi")
public interface QWeatherGeoFeign {

    /**
     * 城市搜索
     *
     * @param key      和风天气密钥
     * @param location 需要查询地区的名称，支持文字、以英文逗号分隔的经度,纬度坐标（十进制，最多支持小数点后两位）、LocationID或Adcode（仅限中国城市）。例如 location=北京 或 location=116.41,39.92
     * @return code 请参考状态码
     * location.name 地区/城市名称
     * location.id 地区/城市ID
     * location.lat 地区/城市纬度
     * location.lon 地区/城市经度
     * location.adm2 地区/城市的上级行政区划名称
     * location.adm1 地区/城市所属一级行政区域
     * location.country 地区/城市所属国家名称
     * location.tz 地区/城市所在时区
     * location.utcOffset 地区/城市目前与UTC时间偏移的小时数，参考详细说明
     * location.isDst 地区/城市是否当前处于夏令时。1 表示当前处于夏令时，0 表示当前不是夏令时。
     * location.type 地区/城市的属性
     * location.rank 地区评分
     * location.fxLink 该地区的天气预报网页链接，便于嵌入你的网站或应用
     * refer.sources 原始数据来源，或数据源说明，可能为空
     * refer.license 数据许可或版权声明，可能为空
     */
    @GetMapping(value = "/city/lookup")
    JSONObject cityLookup(@RequestParam(value = "key") String key, @RequestParam(value = "location") String location);


}
