package com.sptg.permissions.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.sptg.common.core.beans.PageBean;
import com.sptg.permissions.api.dto.AccountDto;
import com.sptg.permissions.api.dto.AccountOauthDto;
import com.sptg.permissions.api.entity.Account;
import com.sptg.permissions.api.entity.AccountOauth;

import java.io.Serializable;
import java.util.List;

/**
 * title: AccountOauthServiceInterface
 * package: com.sptg.permissions.biz.security
 * description: 账号角色-服务层接口
 *
 *                  
 *                 
 */
public interface AccountOauthServiceInterface {


    /**
     * 功能描述: 根据第三方UUId和来源获取授权用户记录
     * @param uuId 第三方UUID
     * @return Long 用户Id
     *
     * date:  2018/10/29 22:12
     */
    AccountOauth selectByUuIdAndSource(String uuId, String source);


    /**
     * 功能描述: 根据第三方用户来源，分页后去的第三方授权账号列表
     * @param pageBean 分页信息
     * @return Page<AccountOauth>
     *                  
     *                       
     */
    Page<AccountOauth> pagingQuery(PageBean<AccountOauth,AccountOauthDto> pageBean);

    /**
     * 功能描述: 绑定用户
     * @return Boolean { true：成功,false：失败 }
     *                  
     *                       
     */
    Boolean bindUser(AccountOauthDto dto);

    /**
     * 功能描述: 解除用户绑定
     * @return ResultBean<Boolean>
     *                  
     *                       
     */
    Boolean untieUser(AccountOauthDto dto);



}
