From 3fd789c15879f1e39f007a87101b87aa24b75809 Mon Sep 17 00:00:00 2001 From: David Wei <> Date: Tue, 21 Nov 2023 16:22:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=88=E6=9D=83=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=B0=86?= =?UTF-8?q?loadUser()=E6=8F=90=E5=8F=96=E4=B8=BA=E5=85=AC=E6=9C=89?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/web/service/SysLoginService.java | 20 ++++++++++++ .../web/service/impl/EmailAuthStrategy.java | 27 +--------------- .../service/impl/PasswordAuthStrategy.java | 26 ++------------- .../web/service/impl/SmsAuthStrategy.java | 27 +--------------- .../web/service/impl/SocialAuthStrategy.java | 32 +++---------------- .../dromara/common/core/enums/LoginType.java | 7 +++- 6 files changed, 34 insertions(+), 105 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index ef5335fc7..1d393fe09 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -5,6 +5,7 @@ import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthUser; @@ -15,6 +16,7 @@ import org.dromara.common.core.domain.dto.RoleDTO; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.enums.LoginType; import org.dromara.common.core.enums.TenantStatus; +import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.*; import org.dromara.common.log.event.LogininforEvent; @@ -61,6 +63,24 @@ public class SysLoginService { private final ISysSocialService sysSocialService; private final SysUserMapper userMapper; + public SysUserVo loadUser(LoginType loginType, String tenantId, String account) { + return TenantHelper.dynamic(tenantId, () -> { + SysUser user = userMapper.selectOne(new LambdaQueryWrapper() + .eq(LoginType.SMS == loginType, SysUser::getPhonenumber, account) + .eq(LoginType.EMAIL == loginType, SysUser::getEmail, account) + .eq(LoginType.PASSWORD == loginType, SysUser::getUserName, account) + .eq(LoginType.SOCIAL == loginType, SysUser::getUserId, account)); + + if (ObjectUtil.isNull(user)) { + log.info("登录用户:{} 不存在.", account); + throw new UserException("user.not.exists", account); + } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { + log.info("登录用户:{} 已被停用.", account); + throw new UserException("user.blocked", account); + } + return MapstructUtils.convert(user, SysUserVo.class); + }); + } /** * 绑定第三方用户 diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java index a2636bc22..88231cd1f 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java @@ -2,8 +2,6 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.Constants; @@ -11,20 +9,15 @@ import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.domain.model.EmailLoginBody; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.enums.LoginType; -import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.user.CaptchaExpireException; -import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; -import org.dromara.system.domain.SysUser; import org.dromara.system.domain.vo.SysUserVo; -import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; import org.dromara.web.service.IAuthStrategy; import org.dromara.web.service.SysLoginService; @@ -41,7 +34,6 @@ import org.springframework.stereotype.Service; public class EmailAuthStrategy implements IAuthStrategy { private final SysLoginService loginService; - private final SysUserMapper userMapper; @Override public LoginVo login(String body, SysClient client) { @@ -52,7 +44,7 @@ public class EmailAuthStrategy implements IAuthStrategy { String emailCode = loginBody.getEmailCode(); // 通过邮箱查找用户 - SysUserVo user = loadUserByEmail(tenantId, email); + SysUserVo user = loginService.loadUser(LoginType.EMAIL, tenantId, email); loginService.checkLogin(LoginType.EMAIL, tenantId, user.getUserName(), () -> !validateEmailCode(tenantId, email, emailCode)); // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 @@ -87,21 +79,4 @@ public class EmailAuthStrategy implements IAuthStrategy { } return code.equals(emailCode); } - - private SysUserVo loadUserByEmail(String tenantId, String email) { - return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getEmail, SysUser::getStatus) - .eq(SysUser::getEmail, email)); - if (ObjectUtil.isNull(user)) { - log.info("登录用户:{} 不存在.", email); - throw new UserException("user.not.exists", email); - } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { - log.info("登录用户:{} 已被停用.", email); - throw new UserException("user.blocked", email); - } - return userMapper.selectUserByEmail(email); - }); - } - } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java index bcb5916d3..4d1b25e25 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java @@ -3,8 +3,6 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.secure.BCrypt; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.Constants; @@ -12,20 +10,16 @@ import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.PasswordLoginBody; import org.dromara.common.core.enums.LoginType; -import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.user.CaptchaException; import org.dromara.common.core.exception.user.CaptchaExpireException; -import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.web.config.properties.CaptchaProperties; import org.dromara.system.domain.SysClient; -import org.dromara.system.domain.SysUser; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; @@ -62,8 +56,9 @@ public class PasswordAuthStrategy implements IAuthStrategy { if (captchaEnabled) { validateCaptcha(tenantId, username, code, uuid); } + // 通过用户名查找用户 + SysUserVo user = loginService.loadUser(LoginType.PASSWORD, tenantId, username); - SysUserVo user = loadUserByUsername(tenantId, username); loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword())); // 此处可根据登录用户的数据不同 自行创建 loginUser LoginUser loginUser = loginService.buildLoginUser(user); @@ -106,21 +101,4 @@ public class PasswordAuthStrategy implements IAuthStrategy { throw new CaptchaException(); } } - - private SysUserVo loadUserByUsername(String tenantId, String username) { - return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(SysUser::getUserName, username)); - if (ObjectUtil.isNull(user)) { - log.info("登录用户:{} 不存在.", username); - throw new UserException("user.not.exists", username); - } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { - log.info("登录用户:{} 已被停用.", username); - throw new UserException("user.blocked", username); - } - return userMapper.selectUserByUserName(username); - }); - } - } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java index a4fa11c8e..5a0a307d8 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java @@ -2,8 +2,6 @@ package org.dromara.web.service.impl; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.constant.Constants; @@ -11,20 +9,15 @@ import org.dromara.common.core.constant.GlobalConstants; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.SmsLoginBody; import org.dromara.common.core.enums.LoginType; -import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.exception.user.CaptchaExpireException; -import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.MessageUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.redis.utils.RedisUtils; import org.dromara.common.satoken.utils.LoginHelper; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; -import org.dromara.system.domain.SysUser; import org.dromara.system.domain.vo.SysUserVo; -import org.dromara.system.mapper.SysUserMapper; import org.dromara.web.domain.vo.LoginVo; import org.dromara.web.service.IAuthStrategy; import org.dromara.web.service.SysLoginService; @@ -41,7 +34,6 @@ import org.springframework.stereotype.Service; public class SmsAuthStrategy implements IAuthStrategy { private final SysLoginService loginService; - private final SysUserMapper userMapper; @Override public LoginVo login(String body, SysClient client) { @@ -52,7 +44,7 @@ public class SmsAuthStrategy implements IAuthStrategy { String smsCode = loginBody.getSmsCode(); // 通过手机号查找用户 - SysUserVo user = loadUserByPhonenumber(tenantId, phonenumber); + SysUserVo user = loginService.loadUser(LoginType.SMS, tenantId, phonenumber); loginService.checkLogin(LoginType.SMS, tenantId, user.getUserName(), () -> !validateSmsCode(tenantId, phonenumber, smsCode)); // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 @@ -87,21 +79,4 @@ public class SmsAuthStrategy implements IAuthStrategy { } return code.equals(smsCode); } - - private SysUserVo loadUserByPhonenumber(String tenantId, String phonenumber) { - return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getPhonenumber, SysUser::getStatus) - .eq(SysUser::getPhonenumber, phonenumber)); - if (ObjectUtil.isNull(user)) { - log.info("登录用户:{} 不存在.", phonenumber); - throw new UserException("user.not.exists", phonenumber); - } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { - log.info("登录用户:{} 已被停用.", phonenumber); - throw new UserException("user.blocked", phonenumber); - } - return userMapper.selectUserByPhonenumber(phonenumber); - }); - } - } diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java index a12386e94..7647d064a 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java @@ -4,30 +4,24 @@ import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpUtil; import cn.hutool.http.Method; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthResponse; import me.zhyd.oauth.model.AuthUser; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.domain.model.SocialLoginBody; -import org.dromara.common.core.enums.UserStatus; +import org.dromara.common.core.enums.LoginType; import org.dromara.common.core.exception.ServiceException; -import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.utils.ValidatorUtils; import org.dromara.common.json.utils.JsonUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.social.config.properties.SocialProperties; import org.dromara.common.social.utils.SocialUtils; -import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.system.domain.SysClient; -import org.dromara.system.domain.SysUser; import org.dromara.system.domain.vo.SysSocialVo; import org.dromara.system.domain.vo.SysUserVo; -import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.service.ISysSocialService; import org.dromara.web.domain.vo.LoginVo; import org.dromara.web.service.IAuthStrategy; @@ -47,10 +41,9 @@ import java.util.Optional; @RequiredArgsConstructor public class SocialAuthStrategy implements IAuthStrategy { + private final SysLoginService loginService; private final SocialProperties socialProperties; private final ISysSocialService sysSocialService; - private final SysUserMapper userMapper; - private final SysLoginService loginService; /** * 登录-第三方授权登录 @@ -88,8 +81,8 @@ public class SocialAuthStrategy implements IAuthStrategy { throw new ServiceException("对不起,你没有权限登录当前租户!"); } SysSocialVo social = opt.get(); - // 查找用户 - SysUserVo user = loadUser(social.getTenantId(), social.getUserId()); + // 通过绑定的userId查找用户 + SysUserVo user = loginService.loadUser(LoginType.SOCIAL, social.getTenantId(), String.valueOf(social.getUserId())); // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 LoginUser loginUser = loginService.buildLoginUser(user); @@ -111,21 +104,4 @@ public class SocialAuthStrategy implements IAuthStrategy { loginVo.setClientId(client.getClientId()); return loginVo; } - - private SysUserVo loadUser(String tenantId, Long userId) { - return TenantHelper.dynamic(tenantId, () -> { - SysUser user = userMapper.selectOne(new LambdaQueryWrapper() - .select(SysUser::getUserName, SysUser::getStatus) - .eq(SysUser::getUserId, userId)); - if (ObjectUtil.isNull(user)) { - log.info("登录用户:{} 不存在.", ""); - throw new UserException("user.not.exists", ""); - } else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) { - log.info("登录用户:{} 已被停用.", ""); - throw new UserException("user.blocked", ""); - } - return userMapper.selectUserByUserName(user.getUserName()); - }); - } - } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/LoginType.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/LoginType.java index f9cac66dc..669289823 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/LoginType.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/enums/LoginType.java @@ -30,7 +30,12 @@ public enum LoginType { /** * 小程序登录 */ - XCX("", ""); + XCX("", ""), + + /** + * 第三方授权登录 + */ + SOCIAL("", ""); /** * 登录重试超出限制提示 From 6dfa1080be1add05f612b70d0e51a22da2b353b0 Mon Sep 17 00:00:00 2001 From: David Wei <> Date: Tue, 21 Nov 2023 17:06:55 +0800 Subject: [PATCH 2/4] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=88=E6=9D=83=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=B0=86?= =?UTF-8?q?loadUser()=E6=8F=90=E5=8F=96=E4=B8=BA=E5=85=AC=E6=9C=89?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/dromara/web/service/SysLoginService.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 1d393fe09..da9e2337d 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -66,6 +66,7 @@ public class SysLoginService { public SysUserVo loadUser(LoginType loginType, String tenantId, String account) { return TenantHelper.dynamic(tenantId, () -> { SysUser user = userMapper.selectOne(new LambdaQueryWrapper() + .select(SysUser::getUserId, SysUser::getStatus) .eq(LoginType.SMS == loginType, SysUser::getPhonenumber, account) .eq(LoginType.EMAIL == loginType, SysUser::getEmail, account) .eq(LoginType.PASSWORD == loginType, SysUser::getUserName, account) @@ -78,7 +79,15 @@ public class SysLoginService { log.info("登录用户:{} 已被停用.", account); throw new UserException("user.blocked", account); } - return MapstructUtils.convert(user, SysUserVo.class); + + SysUserVo sysUserVo = null; + switch (loginType) { + case SMS: sysUserVo = userMapper.selectUserByPhonenumber(account); break; + case EMAIL: sysUserVo = userMapper.selectUserByEmail(account); break; + case PASSWORD: sysUserVo = userMapper.selectUserByUserName(account); break; + case SOCIAL: sysUserVo = userMapper.selectUserById(Long.parseLong(account)); break; + } + return sysUserVo; }); } From 77f4fcda25af2c83fd1fb47ab8308d8cb92c04c0 Mon Sep 17 00:00:00 2001 From: David Wei <> Date: Tue, 21 Nov 2023 17:27:12 +0800 Subject: [PATCH 3/4] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=88=E6=9D=83=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=B0=86?= =?UTF-8?q?loadUser()=E6=8F=90=E5=8F=96=E4=B8=BA=E5=85=AC=E6=9C=89?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/web/service/SysLoginService.java | 9 +-------- .../dromara/system/mapper/SysUserMapper.java | 9 +++++++++ .../resources/mapper/system/SysUserMapper.xml | 17 ++++++++++++++++- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index da9e2337d..740ffaf0a 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -80,14 +80,7 @@ public class SysLoginService { throw new UserException("user.blocked", account); } - SysUserVo sysUserVo = null; - switch (loginType) { - case SMS: sysUserVo = userMapper.selectUserByPhonenumber(account); break; - case EMAIL: sysUserVo = userMapper.selectUserByEmail(account); break; - case PASSWORD: sysUserVo = userMapper.selectUserByUserName(account); break; - case SOCIAL: sysUserVo = userMapper.selectUserById(Long.parseLong(account)); break; - } - return sysUserVo; + return userMapper.selectUser(loginType, account); }); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index 43222253c..789d47b92 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; +import org.dromara.common.core.enums.LoginType; import org.dromara.common.mybatis.annotation.DataColumn; import org.dromara.common.mybatis.annotation.DataPermission; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; @@ -61,6 +62,14 @@ public interface SysUserMapper extends BaseMapperPlus { }) Page selectUnallocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); + /** + * 通过用户名查询用户 + * + * @param account 账号:手机/邮箱/密码/UserId + * @return 用户对象信息 + */ + SysUserVo selectUser(LoginType loginType, String account); + /** * 通过用户名查询用户 * diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 7af7dd0cc..03a94de42 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -123,5 +123,20 @@ where u.del_flag = '0' and u.user_id = #{userId} - + From 7508b0c64cc7d30e38a774c803a5f54b812983d9 Mon Sep 17 00:00:00 2001 From: David Wei <> Date: Tue, 21 Nov 2023 17:29:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8E=88=E6=9D=83=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=B0=86?= =?UTF-8?q?loadUser()=E6=8F=90=E5=8F=96=E4=B8=BA=E5=85=AC=E6=9C=89?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/system/SysUserMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 03a94de42..db5c75f44 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -123,7 +123,7 @@ where u.del_flag = '0' and u.user_id = #{userId} - where u.del_flag = '0'