Files
youlai-boot/src/main/java/com/youlai/boot/system/service/UserSocialService.java
Ray.Hao 2441efa9ba refactor(security): Ports & Adapters 架构重构|解除反向依赖|抽离 Security Starter 准备
- 新增 2 个端口接口(UserAuthenticationPort / PermissionPort)+ 1 个适配器(PermissionAdapter)
- SecurityUserDetails 用 roles(Set<String>) 替代 authorities,消除 Jackson 序列化问题
- 删除 UserSession,Redis / JWT 直存 SecurityUserDetails
- SecurityUserDetailsService / PermissionService 注入 Port 替代 system Service
2026-07-05 16:53:46 +08:00

71 lines
1.9 KiB
Java

package com.youlai.boot.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.framework.security.model.SecurityUser;
import com.youlai.boot.common.enums.SocialPlatformEnum;
import com.youlai.boot.system.model.entity.UserSocial;
/**
* 用户第三方账号绑定业务接口
*/
public interface UserSocialService extends IService<UserSocial> {
/**
* 根据平台和openid查询绑定信息
*
* @param platform 平台类型
* @param openid openid
* @return 绑定信息
*/
UserSocial getByPlatformAndOpenid(SocialPlatformEnum platform, String openid);
/**
* 根据unionid查询绑定信息
*
* @param unionid unionid
* @return 绑定信息
*/
UserSocial getByUnionid(String unionid);
/**
* 绑定或更新第三方账号
*
* @param userId 用户ID
* @param platform 平台类型
* @param openid openid
* @param unionid unionid
* @param nickname 昵称
* @param avatar 头像
* @param sessionKey session_key
* @return 绑定信息
*/
UserSocial bindOrUpdate(Long userId, SocialPlatformEnum platform, String openid, String unionid, String nickname, String avatar, String sessionKey);
/**
* 解绑第三方账号
*
* @param userId 用户ID
* @param platform 平台类型
* @return 是否成功
*/
boolean unbind(Long userId, SocialPlatformEnum platform);
/**
* 根据openid获取用户认证信息
*
* @param platform 平台类型
* @param openid openid
* @return 用户认证信息
*/
SecurityUser getAuthInfoByOpenid(SocialPlatformEnum platform, String openid);
/**
* 更新session_key
*
* @param id 绑定记录ID
* @param sessionKey session_key
*/
void updateSessionKey(Long id, String sessionKey);
}