package ink.wgink.login.oauth2.client.remote.miniapp;

import ink.wgink.annotation.rpc.rest.RemoteService;
import ink.wgink.annotation.rpc.rest.method.RemotePostMethod;
import ink.wgink.annotation.rpc.rest.params.RemoteJsonBodyParams;
import ink.wgink.annotation.rpc.rest.params.RemoteQueryParams;
import ink.wgink.annotation.rpc.rest.params.RemoteServerParams;
import ink.wgink.pojo.dtos.miniapp.MiniappUserDTO;
import ink.wgink.pojo.vos.IdsVO;

import java.util.List;

/**
 * @ClassName: IMiniappUserService
 * @Description: 小程序用户接口
 * @Author: wanggeng
 * @Date: 2022/6/22 14:21
 * @Version: 1.0
 */
@RemoteService("/resource/miniapp-user")
public interface IMiniappUserRemoteService {

    @RemotePostMethod("/delete/user-ids")
    void deleteByUserId(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);

    @RemotePostMethod("/list/user-ids")
    List<MiniappUserDTO> listByUserIds(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);

    @RemotePostMethod("/list/user-codes")
    List<MiniappUserDTO> listByUserCodes(@RemoteServerParams String userCenter, @RemoteQueryParams("access_token") String accessToken, @RemoteJsonBodyParams IdsVO idsVO);

}
