多租户代码框架
This commit is contained in:
@@ -27,8 +27,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
|
||||
@Override
|
||||
public LoginResponse login(LoginRequest loginRequest) {
|
||||
// 根据用户名查询用户
|
||||
User user = getUserByUserName(loginRequest.getUserName());
|
||||
// 根据用户名查询用户(登录时不走多租户拦截器)
|
||||
User user = this.baseMapper.selectByUserNameIgnoreTenant(loginRequest.getUserName());
|
||||
|
||||
if (user == null) {
|
||||
throw new RuntimeException("用户不存在");
|
||||
@@ -55,12 +55,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
loginResponse.setAvatar(user.getAvatar());
|
||||
loginResponse.setToken(token);
|
||||
loginResponse.setLoginTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
||||
loginResponse.setTenantId(user.getTenantId());
|
||||
|
||||
return loginResponse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUserByUserName(String userName) {
|
||||
// 供其他业务使用的通用查询,保持按租户隔离
|
||||
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(User::getUserName, userName);
|
||||
return this.getOne(queryWrapper);
|
||||
@@ -68,16 +70,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
|
||||
|
||||
@Override
|
||||
public User getUserByToken(String token) {
|
||||
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(User::getToken, token);
|
||||
return this.getOne(queryWrapper);
|
||||
// 用于 token 验证等场景,需跨租户查询用户
|
||||
return this.baseMapper.selectByTokenIgnoreTenant(token);
|
||||
}
|
||||
|
||||
@Override
|
||||
public User getUserInfoByToken(String token) {
|
||||
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(User::getToken, token);
|
||||
return this.getOne(queryWrapper);
|
||||
// 获取用户详细信息,同样使用跨租户查询
|
||||
return this.baseMapper.selectByTokenIgnoreTenant(token);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user