Просмотр исходного кода

解决手机号登录失败的问题

ZhaoMn 4 лет назад
Родитель
Сommit
068f650df8

+ 4 - 1
railway-framework/src/main/java/com/railway/framework/web/service/UserDetailsServiceImpl.java

@@ -34,7 +34,10 @@ public class UserDetailsServiceImpl implements UserDetailsService {
   public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
     SysUser user = userService.selectUserByUserName(username);
     if(StringUtils.isNull(user)){
-      user = userService.selectUserByNickName(username);
+      user = userService.selectUserByPhone(username);
+      if(StringUtils.isNull(user)){
+        user = userService.selectUserByNickName(username);
+      }
     }
     if (StringUtils.isNull(user)) {
       log.info("登录用户:{} 不存在.", username);

+ 8 - 0
railway-system/src/main/java/com/railway/system/mapper/SysUserMapper.java

@@ -53,6 +53,14 @@ public interface SysUserMapper {
    */
   SysUser selectUserByNickName(String nickName);
 
+  /**
+   * 通过手机号查询用户
+   *
+   * @param phone 手机号
+   * @return 用户对象信息
+   */
+  SysUser selectUserByPhone(String phone);
+
   /**
    * 通过用户ID查询用户
    *

+ 8 - 0
railway-system/src/main/java/com/railway/system/service/ISysUserService.java

@@ -51,6 +51,14 @@ public interface ISysUserService {
    */
   SysUser selectUserByNickName(String nickName);
 
+  /**
+   * 通过手机号查询用户
+   *
+   * @param phone 手机号
+   * @return 用户对象信息
+   */
+  SysUser selectUserByPhone(String phone);
+
   /**
    * 通过用户ID查询用户
    *

+ 11 - 0
railway-system/src/main/java/com/railway/system/service/impl/SysUserServiceImpl.java

@@ -130,6 +130,17 @@ public class SysUserServiceImpl implements ISysUserService {
     return userMapper.selectUserByNickName(nickName);
   }
 
+  /**
+   * 通过手机号查询用户
+   *
+   * @param phone 手机号
+   * @return 用户对象信息
+   */
+  @Override
+  public SysUser selectUserByPhone(String phone) {
+    return userMapper.selectUserByPhone(phone);
+  }
+
   /**
    * 通过用户ID查询用户
    *

+ 5 - 0
railway-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -153,6 +153,11 @@
     where u.nick_name = #{nickName}
   </select>
 
+  <select id="selectUserByPhone" parameterType="String" resultMap="SysUserResult">
+    <include refid="selectUserVo"/>
+    where u.phone = #{phone}
+  </select>
+
   <select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
     <include refid="selectUserVo"/>
     where u.user_id = #{userId}