diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java index e602d7c9..ec401d54 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java @@ -16,25 +16,28 @@ public interface RemoteUserService { * 通过用户名查询用户信息 * * @param username 用户名 + * @param tenantId 租户id * @return 结果 */ - LoginUser getUserInfo(String username) throws UserException; + LoginUser getUserInfo(String username, String tenantId) throws UserException; /** * 通过手机号查询用户信息 * * @param phonenumber 手机号 + * @param tenantId 租户id * @return 结果 */ - LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException; + LoginUser getUserInfoByPhonenumber(String phonenumber, String tenantId) throws UserException; /** * 通过邮箱查询用户信息 * - * @param email 邮箱 + * @param email 邮箱 + * @param tenantId 租户id * @return 结果 */ - LoginUser getUserInfoByEmail(String email) throws UserException; + LoginUser getUserInfoByEmail(String email, String tenantId) throws UserException; /** * 通过openid查询用户信息 diff --git a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java index 390c7642..2d321a0f 100644 --- a/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/org/dromara/auth/service/SysLoginService.java @@ -64,7 +64,7 @@ public class SysLoginService { public String login(String tenantId, String username, String password) { // 校验租户 checkTenant(tenantId); - LoginUser userInfo = remoteUserService.getUserInfo(username); + LoginUser userInfo = remoteUserService.getUserInfo(username, tenantId); checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, userInfo.getPassword())); // 获取登录token LoginHelper.loginByDevice(userInfo, DeviceType.PC); @@ -77,7 +77,7 @@ public class SysLoginService { // 校验租户 checkTenant(tenantId); // 通过手机号查找用户 - LoginUser userInfo = remoteUserService.getUserInfoByPhonenumber(phonenumber); + LoginUser userInfo = remoteUserService.getUserInfoByPhonenumber(phonenumber, tenantId); checkLogin(LoginType.SMS, tenantId, userInfo.getUsername(), () -> !validateSmsCode(tenantId, phonenumber, smsCode)); // 生成token @@ -91,7 +91,7 @@ public class SysLoginService { // 校验租户 checkTenant(tenantId); // 通过邮箱查找用户 - LoginUser userInfo = remoteUserService.getUserInfoByEmail(email); + LoginUser userInfo = remoteUserService.getUserInfoByEmail(email, tenantId); checkLogin(LoginType.EMAIL,tenantId, userInfo.getUsername(), () -> !validateEmailCode(tenantId, email, emailCode)); // 生成token diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/service/MultiService.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/service/MultiService.java index 5df7eaaf..9be05ab3 100644 --- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/service/MultiService.java +++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/service/MultiService.java @@ -28,7 +28,7 @@ public class MultiService { @GlobalTransactional(rollbackFor = Exception.class) @XxlJob("multiServiceHandler") public void multiServiceHandler() throws Exception { - LoginUser admin = remoteUserService.getUserInfo("admin"); + LoginUser admin = remoteUserService.getUserInfo("admin", "000000"); XxlJobHelper.log("XXL-JOB, multiServiceHandler result: {}", admin.toString()); RemoteUserBo remoteUserBo = new RemoteUserBo(); remoteUserBo.setUserName("test"); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java index 6df7913a..0e3f5bd4 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java @@ -41,10 +41,10 @@ public class RemoteUserServiceImpl implements RemoteUserService { private final SysUserMapper userMapper; @Override - public LoginUser getUserInfo(String username) throws UserException { + public LoginUser getUserInfo(String username, String tenantId) throws UserException { SysUser sysUser = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(SysUser::getUserName, username)); + .select(SysUser::getUserName, SysUser::getStatus) + .eq(SysUser::getUserName, username)); if (ObjectUtil.isNull(sysUser)) { throw new UserException("user.not.exists", username); } @@ -53,14 +53,14 @@ public class RemoteUserServiceImpl implements RemoteUserService { } // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(userMapper.selectUserByUserName(username)); + return buildLoginUser(userMapper.selectTenantUserByUserName(username, tenantId)); } @Override - public LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException { + public LoginUser getUserInfoByPhonenumber(String phonenumber, String tenantId) throws UserException { SysUser sysUser = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getPhonenumber, SysUser::getStatus) - .eq(SysUser::getPhonenumber, phonenumber)); + .select(SysUser::getPhonenumber, SysUser::getStatus) + .eq(SysUser::getPhonenumber, phonenumber)); if (ObjectUtil.isNull(sysUser)) { throw new UserException("user.not.exists", phonenumber); } @@ -69,11 +69,11 @@ public class RemoteUserServiceImpl implements RemoteUserService { } // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(userMapper.selectUserByPhonenumber(phonenumber)); + return buildLoginUser(userMapper.selectTenantUserByPhonenumber(phonenumber, tenantId)); } @Override - public LoginUser getUserInfoByEmail(String email) throws UserException { + public LoginUser getUserInfoByEmail(String email, String tenantId) throws UserException { SysUser user = userMapper.selectOne(new LambdaQueryWrapper() .select(SysUser::getPhonenumber, SysUser::getStatus) .eq(SysUser::getEmail, email)); @@ -85,7 +85,7 @@ public class RemoteUserServiceImpl implements RemoteUserService { } // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可 // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 - return buildLoginUser(userMapper.selectUserByEmail(email)); + return buildLoginUser(userMapper.selectTenantUserByEmail(email, tenantId)); } @Override