diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/user/IUserBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/user/IUserBaseService.java index feb3e6c8..45611b96 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/user/IUserBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/user/IUserBaseService.java @@ -216,4 +216,11 @@ public interface IUserBaseService { */ List listUserIds(List userDTOs); + /** + * 通过手机获取用户 + * + * @param phones + * @return + */ + List listByUserPhones(List phones); } diff --git a/login-base/src/main/java/ink/wgink/login/base/service/user/UserDetailServiceImpl.java b/login-base/src/main/java/ink/wgink/login/base/service/user/UserDetailServiceImpl.java index 29b28434..565e6144 100644 --- a/login-base/src/main/java/ink/wgink/login/base/service/user/UserDetailServiceImpl.java +++ b/login-base/src/main/java/ink/wgink/login/base/service/user/UserDetailServiceImpl.java @@ -10,6 +10,7 @@ import ink.wgink.pojo.bos.LoginUser; import ink.wgink.service.user.enums.UserStateEnum; import ink.wgink.service.user.pojo.pos.UserPO; import ink.wgink.service.user.service.IUserService; +import ink.wgink.util.RegexUtil; import ink.wgink.util.date.DateUtil; import org.apache.commons.lang3.StringUtils; import org.joda.time.DateTime; @@ -48,8 +49,15 @@ public class UserDetailServiceImpl implements UserDetailsService, IUserDetailChe } catch (Exception e) { username = userInfo; } - - UserPO userPO = userService.getPOByUsername(username.toLowerCase()); + // 通过用户名查询 + UserPO userPO; + if (RegexUtil.isPhone(username.toLowerCase())) { + // 手机登录 + userPO = userService.getPOByPhone(username.toLowerCase()); + } else { + // 用户名登录 + userPO = userService.getPOByUsername(username.toLowerCase()); + } if (null == userPO) { throw new UserAuthenticationException("账号不存在"); }