package cn.iocoder.yudao.module.system.service.auth;

import cn.iocoder.yudao.module.system.dal.dataobject.auth.AdminOauthUserOtherInfoDO;
import cn.iocoder.yudao.module.system.service.auth.dto.AdminOauthUserOtherInfoDTO;

import java.util.List;

/**
 * 用户三方登录信息 Service 接口
 *
 * @author 艾楷
 */
public interface AdminOauthUserOtherInfoService {
    /**
     * 保存修改用户三方登录信息
     *
     * @param userId
     * @param appId
     * @param openId
     * @param socialType
     */
    void checkInsert(Long userId, String appId, String openId, Integer socialType);

    AdminOauthUserOtherInfoDO getByCondition(Long userId, Integer socialType);

    /**
     * 通过社交类型+用户状态获取用户社交信息
     *
     * @param dto
     * @return
     */
    List<AdminOauthUserOtherInfoDO> getOpenIdByCondition(AdminOauthUserOtherInfoDTO dto);

    /**
     * 根据条件删除
     *
     * @param userId
     * @param appId
     * @param openId
     * @param socialType
     */
    void delByCondition(Long userId, String appId, String openId, Integer socialType);
}
