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.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 蛙蛙工具Feign
 *
 * @author ssk
 * @version 1.0
 * @date 2024/11/28 15:52
 */
@FeignClient(url = "https://www.iamwawa.cn", name = "wawa")
public interface WawaFeign {

    /**
     * 蛙蛙工具
     * 一句诗词
     * https://www.iamwawa.cn/shici.html
     *
     * @param userAgent ua信息
     * @return JSONObject
     */
    @GetMapping("/home/shici/ajax")
    JSONObject shiCi(@RequestHeader(name = "User-Agent") String userAgent);

    /**
     * 蛙蛙工具
     * 励志句子
     * https://www.iamwawa.cn/lizhi.html
     *
     * @param userAgent ua信息
     * @return JSONObject
     */
    @GetMapping("/home/lizhi/ajax")
    JSONObject liZhi(@RequestHeader(name = "User-Agent") String userAgent);

    /**
     * 蛙蛙工具
     * 毒鸡汤
     * https://www.iamwawa.cn/dujitang.html
     *
     * @param userAgent ua信息
     * @return JSONObject
     */
    @GetMapping("/home/dujitang/ajax_test")
    JSONObject jiTang(@RequestHeader(name = "User-Agent") String userAgent);

    /**
     * 蛙蛙工具
     * 农历公历转换器
     * 每分钟限请求10次
     * https://www.iamwawa.cn/nongli.html
     *
     * @param userAgent ua信息
     * @param type      solar/lunar，发送的日期是公历还是农历
     * @param year      年
     * @param month     月
     * @param day       日
     * @return JSONObject
     */
    @GetMapping("/nongli/api")
    JSONObject nongLi(@RequestHeader(name = "User-Agent") String userAgent,
                      @RequestParam(value = "type") String type,
                      @RequestParam(value = "year") Integer year,
                      @RequestParam(value = "month") Integer month,
                      @RequestParam(value = "day") Integer day);

    /**
     * 蛙蛙工具
     * 放假调休安排
     * https://www.iamwawa.cn/holiday.html
     *
     * @param userAgent ua信息
     * @return JSONObject
     */
    @GetMapping("/holiday/api")
    JSONObject holiday(@RequestHeader(name = "User-Agent") String userAgent);

    /**
     * 蛙蛙工具
     * 油价查询API接口
     * 每分钟限请求10次
     * https://www.iamwawa.cn/oilprice.html
     *
     * @param userAgent ua信息
     * @param area      支持地区：北京,上海,江苏,天津,重庆,江西,辽宁,安徽,内蒙古,福建,宁夏,甘肃,青海,广东,山东,广西,山西,贵州,陕西,海南,四川,河北,西藏,河南,新疆,黑龙江,吉林,云南,湖北,浙江,湖南
     * @return JSONObject
     */
    @GetMapping("/oilprice/api")
    JSONObject oilPrice(@RequestHeader(name = "User-Agent") String userAgent,
                        @RequestParam(value = "area") String area);

}
