[feat] 新增手机号+密码登录

This commit is contained in:
hsdllcw
2024-08-09 11:20:57 +08:00
parent 25613442a4
commit 26184e1592
7 changed files with 1615 additions and 1546 deletions

View File

@@ -32,6 +32,15 @@ public interface RemoteUserService
@GetMapping("/user/info/{username}") @GetMapping("/user/info/{username}")
public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); public R<LoginUser> getUserInfo(@PathVariable("username") String username, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 通过手机号查询用户信息
*
* @param phoneNumber 用户名
* @param source 请求来源
* @return 结果
*/
@GetMapping("/user/info/phoneNumber/{phoneNumber:\\d+}")
public R<LoginUser> getUserInfoByPhoneNumber(@PathVariable("phoneNumber") String phoneNumber, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/** /**
* 注册用户信息 * 注册用户信息
* *

View File

@@ -31,6 +31,11 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
return R.fail("获取用户失败:" + throwable.getMessage()); return R.fail("获取用户失败:" + throwable.getMessage());
} }
@Override
public R<LoginUser> getUserInfoByPhoneNumber(String phoneNumber, String source) {
return R.fail("获取用户失败:" + throwable.getMessage());
}
@Override @Override
public R<Boolean> registerUserInfo(SysUser sysUser, String source) public R<Boolean> registerUserInfo(SysUser sysUser, String source)
{ {

View File

@@ -130,6 +130,29 @@ public class SysUserController extends BaseController
return R.ok(sysUserVo); return R.ok(sysUserVo);
} }
/**
* 获取当前用户信息
*/
@InnerAuth
@GetMapping("/info/phoneNumber/{phoneNumber:\\d+}")
public R<LoginUser> infoByPhone(@PathVariable("phoneNumber") String phoneNumber)
{
SysUser sysUser = userService.selectUserByPhoneNumber(phoneNumber);
if (StringUtils.isNull(sysUser))
{
return R.fail("用户名或密码错误");
}
// 角色集合
Set<String> roles = permissionService.getRolePermission(sysUser);
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(sysUser);
LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser);
sysUserVo.setRoles(roles);
sysUserVo.setPermissions(permissions);
return R.ok(sysUserVo);
}
/** /**
* 注册用户信息 * 注册用户信息
*/ */

View File

@@ -43,6 +43,14 @@ public interface SysUserMapper
*/ */
public SysUser selectUserByUserName(String userName); public SysUser selectUserByUserName(String userName);
/**
* 通过手机号查询用户
*
* @param phoneNumber 手机号
* @return 用户对象信息
*/
public SysUser selectUserByPhoneNumber(String phoneNumber);
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *

View File

@@ -42,6 +42,14 @@ public interface ISysUserService
*/ */
public SysUser selectUserByUserName(String userName); public SysUser selectUserByUserName(String userName);
/**
* 通过手机号查询用户
*
* @param phoneNumber 用户名
* @return 用户对象信息
*/
public SysUser selectUserByPhoneNumber(String phoneNumber);
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *

View File

@@ -116,6 +116,17 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.selectUserByUserName(userName); return userMapper.selectUserByUserName(userName);
} }
/**
* 通过手机号查询用户
*
* @param phoneNumber 手机号
* @return 用户对象信息
*/
@Override
public SysUser selectUserByPhoneNumber(String phoneNumber) {
return userMapper.selectUserByPhoneNumber(phoneNumber);
}
/** /**
* 通过用户ID查询用户 * 通过用户ID查询用户
* *

View File

@@ -142,6 +142,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1
</select> </select>
<select id="selectUserByPhoneNumber" parameterType="String" resultMap="SysUserResult">
<include refid="selectUserVo"/>
where u.phonenumber = #{phoneNumber} and u.del_flag = '0'
</select>
<insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertUser" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user( insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if> <if test="userId != null and userId != 0">user_id,</if>