package com.ff.game.api.jili.client;

import com.dtflys.forest.annotation.Address;
import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.Request;
import com.dtflys.forest.annotation.Var;
import com.ff.game.api.jili.address.MyJILIAddressSource;
import com.ff.game.api.jili.dto.JILICreateMemberResponseDTO;
import com.ff.game.api.jili.dto.JILIGamesDTO;
import com.ff.game.api.jili.dto.JILILoginWithoutRedirectResponseDTO;
import com.ff.game.api.jili.dto.JILIMemberInfoDTO;

/**
 * jili 请求
 *
 * @author shi
 * @date 2025/02/10
 */
@Address(source = MyJILIAddressSource.class)
public interface JILIClient {
    /**
     * 创建成员
     *
     * @param parameters 参数
     * @return {@link String }
     */
    @Get("/CreateMember?${parameters}")
    JILICreateMemberResponseDTO createMember(@Var("parameters") String parameters);

    /**
     * 获取会员信息
     *
     * @param parameters 参数
     * @return {@link JILIMemberInfoDTO }
     */
    @Get("/GetMemberInfo?${parameters}")
    JILIMemberInfoDTO getMemberInfo(@Var("parameters") String parameters);

    /**
     * 无重定向登录
     *
     * @param parameters 参数
     * @return {@link JILILoginWithoutRedirectResponseDTO }
     */
    @Get("/LoginWithoutRedirect?${parameters}")
    JILILoginWithoutRedirectResponseDTO loginWithoutRedirect(@Var("parameters") String parameters);

    /**
     * 获取游戏列表
     *
     * @param parameters 参数
     * @return {@link JILIGamesDTO }
     */
    @Get("/GetGameList?${parameters}")
    JILIGamesDTO getGameList(@Var("parameters") String parameters);
}
