package com.gxwebsoft.shop.service;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.shop.entity.UserOauth;
import com.gxwebsoft.shop.param.OrderParam;
import com.gxwebsoft.shop.param.UserOauthParam;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 第三方用户信息表Service
 *
 * @author 科技小王子
 * @since 2022-12-15 08:33:13
 */
public interface UserOauthService extends IService<UserOauth> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<UserOauth>
     */
    PageResult<UserOauth> pageRel(UserOauthParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<UserOauth>
     */
    List<UserOauth> listRel(UserOauthParam param);

    /**
     * 根据id查询
     *
     * @param id 主键ID
     * @return UserOauth
     */
    UserOauth getByIdRel(Integer id);

    /**
     * 获取第三方用户唯一标识
     * @param userId
     * @param platform
     * @return
     */
    String getOauthIdByUserId(Integer userId,String platform);

    // 根据openId获取用户信息
    User getByOauthId(String openid);

    // 跟进unionId获取用户信息
    UserOauth getByUnionId(UserOauthParam param);
}
