mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-09-06 12:28:10 +00:00
add 增加 短信登录 与 小程序登录 示例
This commit is contained in:
@@ -18,7 +18,6 @@ import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 操作日志记录
|
||||
@@ -46,22 +45,41 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
||||
throw new UserException("user.blocked", username);
|
||||
}
|
||||
// 角色集合
|
||||
Set<String> rolePermission = permissionService.getRolePermission(sysUser.getUserId());
|
||||
// 权限集合
|
||||
Set<String> menuPermissions = permissionService.getMenuPermission(sysUser.getUserId());
|
||||
LoginUser loginUser = new LoginUser();
|
||||
loginUser.setUserId(sysUser.getUserId());
|
||||
loginUser.setDeptId(sysUser.getDeptId());
|
||||
loginUser.setUsername(sysUser.getUserName());
|
||||
loginUser.setPassword(sysUser.getPassword());
|
||||
loginUser.setUserType(sysUser.getUserType());
|
||||
loginUser.setDeptName(sysUser.getDept().getDeptName());
|
||||
loginUser.setMenuPermission(menuPermissions);
|
||||
loginUser.setRolePermission(rolePermission);
|
||||
List<RoleDTO> roles = BeanUtil.copyToList(sysUser.getRoles(), RoleDTO.class);
|
||||
loginUser.setRoles(roles);
|
||||
return loginUser;
|
||||
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
||||
return buildLoginUser(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginUser getUserInfoByPhonenumber(String phonenumber) throws UserException {
|
||||
SysUser sysUser = userService.selectUserByPhonenumber(phonenumber);
|
||||
if (ObjectUtil.isNull(sysUser)) {
|
||||
throw new UserException("user.not.exists", phonenumber);
|
||||
}
|
||||
if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
|
||||
throw new UserException("user.password.delete", phonenumber);
|
||||
}
|
||||
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
||||
throw new UserException("user.blocked", phonenumber);
|
||||
}
|
||||
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
||||
return buildLoginUser(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginUser getUserInfoByOpenid(String openid) throws UserException {
|
||||
// todo 自行实现 userService.selectUserByOpenid(openid);
|
||||
SysUser sysUser = new SysUser();
|
||||
if (ObjectUtil.isNull(sysUser)) {
|
||||
// todo 用户不存在 业务逻辑自行实现
|
||||
}
|
||||
if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
|
||||
// todo 用户已被删除 业务逻辑自行实现
|
||||
}
|
||||
if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
|
||||
// todo 用户已被停用 业务逻辑自行实现
|
||||
}
|
||||
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
||||
return buildLoginUser(sysUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -76,4 +94,21 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
return userService.registerUser(sysUser);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建登录用户
|
||||
*/
|
||||
private LoginUser buildLoginUser(SysUser user) {
|
||||
LoginUser loginUser = new LoginUser();
|
||||
loginUser.setUserId(user.getUserId());
|
||||
loginUser.setDeptId(user.getDeptId());
|
||||
loginUser.setUsername(user.getUserName());
|
||||
loginUser.setUserType(user.getUserType());
|
||||
loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId()));
|
||||
loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId()));
|
||||
loginUser.setDeptName(user.getDept().getDeptName());
|
||||
List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class);
|
||||
loginUser.setRoles(roles);
|
||||
return loginUser;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -69,6 +69,14 @@ public interface SysUserMapper extends BaseMapperPlus<SysUserMapper, SysUser, Sy
|
||||
*/
|
||||
SysUser selectUserByUserName(String userName);
|
||||
|
||||
/**
|
||||
* 通过手机号查询用户
|
||||
*
|
||||
* @param phonenumber 手机号
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
SysUser selectUserByPhonenumber(String phonenumber);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
|
@@ -46,6 +46,14 @@ public interface ISysUserService {
|
||||
*/
|
||||
SysUser selectUserByUserName(String userName);
|
||||
|
||||
/**
|
||||
* 通过手机号查询用户
|
||||
*
|
||||
* @param phonenumber 手机号
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
SysUser selectUserByPhonenumber(String phonenumber);
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
|
@@ -137,6 +137,17 @@ public class SysUserServiceImpl implements ISysUserService {
|
||||
return baseMapper.selectUserByUserName(userName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过手机号查询用户
|
||||
*
|
||||
* @param phonenumber 手机号
|
||||
* @return 用户对象信息
|
||||
*/
|
||||
@Override
|
||||
public SysUser selectUserByPhonenumber(String phonenumber) {
|
||||
return baseMapper.selectUserByPhonenumber(phonenumber);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过用户ID查询用户
|
||||
*
|
||||
|
@@ -116,12 +116,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_name = #{userName}
|
||||
where u.del_flag = '0' and u.user_name = #{userName}
|
||||
</select>
|
||||
|
||||
<select id="selectUserByPhonenumber" parameterType="String" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.del_flag = '0' and u.phonenumber = #{phonenumber}
|
||||
</select>
|
||||
|
||||
<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
|
||||
<include refid="selectUserVo"/>
|
||||
where u.user_id = #{userId}
|
||||
where u.del_flag = '0' and u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user