mirror of
https://github.com/zccbbg/wms-ruoyi.git
synced 2024-09-20 11:05:54 +08:00
refactor: profile 优化
This commit is contained in:
parent
7cbd6c085e
commit
28f248d4ec
|
@ -12,10 +12,11 @@ import com.ruoyi.common.satoken.utils.LoginHelper;
|
|||
import com.ruoyi.common.web.core.BaseController;
|
||||
import com.ruoyi.system.domain.bo.SysUserBo;
|
||||
import com.ruoyi.system.domain.bo.SysUserProfileBo;
|
||||
import com.ruoyi.system.domain.vo.ProfileVo;
|
||||
import com.ruoyi.system.domain.vo.SysOssVo;
|
||||
import com.ruoyi.system.domain.vo.SysUserVo;
|
||||
import com.ruoyi.system.service.SysUserService;
|
||||
import com.ruoyi.system.service.SysOssService;
|
||||
import com.ruoyi.system.service.SysUserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -43,13 +44,13 @@ public class SysProfileController extends BaseController {
|
|||
* 个人信息
|
||||
*/
|
||||
@GetMapping
|
||||
public R<Map<String, Object>> profile() {
|
||||
public R<ProfileVo> profile() {
|
||||
SysUserVo user = userService.selectUserById(LoginHelper.getUserId());
|
||||
return R.ok(Map.of(
|
||||
"user", user,
|
||||
"roleGroup", userService.selectUserRoleGroup(user.getUserName()),
|
||||
"postGroup", userService.selectUserPostGroup(user.getUserName())
|
||||
));
|
||||
ProfileVo profileVo = new ProfileVo();
|
||||
profileVo.setUser(user);
|
||||
profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserId()));
|
||||
profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserId()));
|
||||
return R.ok(profileVo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -59,17 +60,14 @@ public class SysProfileController extends BaseController {
|
|||
@PutMapping
|
||||
public R<Void> updateProfile(@Validated @RequestBody SysUserProfileBo profile) {
|
||||
SysUserBo user = BeanUtil.toBean(profile, SysUserBo.class);
|
||||
user.setUserId(LoginHelper.getUserId());
|
||||
String username = LoginHelper.getUsername();
|
||||
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
|
||||
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
|
||||
return R.fail("修改用户'" + username + "'失败,手机号码已存在");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
|
||||
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
|
||||
return R.fail("修改用户'" + username + "'失败,邮箱账号已存在");
|
||||
}
|
||||
user.setUserId(LoginHelper.getUserId());
|
||||
user.setUserName(null);
|
||||
user.setPassword(null);
|
||||
user.setAvatar(null);
|
||||
user.setDeptId(null);
|
||||
if (userService.updateUserProfile(user) > 0) {
|
||||
return R.ok();
|
||||
}
|
||||
|
@ -86,16 +84,14 @@ public class SysProfileController extends BaseController {
|
|||
@PutMapping("/updatePwd")
|
||||
public R<Void> updatePwd(String oldPassword, String newPassword) {
|
||||
SysUserVo user = userService.selectUserById(LoginHelper.getUserId());
|
||||
String userName = user.getUserName();
|
||||
String password = user.getPassword();
|
||||
if (StringUtils.equals(oldPassword,newPassword)) {
|
||||
return R.fail("新密码不能与旧密码相同");
|
||||
}
|
||||
if (!BCrypt.checkpw(oldPassword, password)) {
|
||||
return R.fail("修改密码失败,旧密码错误");
|
||||
}
|
||||
if (BCrypt.checkpw(newPassword, password)) {
|
||||
return R.fail("新密码不能与旧密码相同");
|
||||
}
|
||||
|
||||
if (userService.resetUserPwd(userName, BCrypt.hashpw(newPassword)) > 0) {
|
||||
if (userService.resetUserPwd(user.getUserId(), BCrypt.hashpw(newPassword)) > 0) {
|
||||
return R.ok();
|
||||
}
|
||||
return R.fail("修改密码异常,请联系管理员");
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
package com.ruoyi.system.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户个人信息
|
||||
*
|
||||
* @author Michelle.Chung
|
||||
*/
|
||||
@Data
|
||||
public class ProfileVo {
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
private SysUserVo user;
|
||||
|
||||
/**
|
||||
* 用户所属角色组
|
||||
*/
|
||||
private String roleGroup;
|
||||
|
||||
/**
|
||||
* 用户所属岗位组
|
||||
*/
|
||||
private String postGroup;
|
||||
|
||||
|
||||
}
|
|
@ -30,10 +30,10 @@ public interface SysPostMapper extends BaseMapperPlus<SysPost, SysPostVo> {
|
|||
/**
|
||||
* 查询用户所属岗位组
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
List<SysPostVo> selectPostsByUserName(String userName);
|
||||
List<SysPostVo> selectPostsByUserId(Long userId);
|
||||
|
||||
@DataPermission({
|
||||
@DataColumn(key = "deptName", value = "dept_id"),
|
||||
|
|
|
@ -54,14 +54,6 @@ public interface SysRoleMapper extends BaseMapperPlus<SysRole, SysRoleVo> {
|
|||
*/
|
||||
List<Long> selectRoleListByUserId(Long userId);
|
||||
|
||||
/**
|
||||
* 根据用户ID查询角色
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @return 角色列表
|
||||
*/
|
||||
List<SysRoleVo> selectRolesByUserName(String userName);
|
||||
|
||||
List<SysRoleVo> selectRolesByUserId(Long userId);
|
||||
|
||||
SysRoleVo selectRoleById(Long roleId);
|
||||
|
|
|
@ -164,11 +164,11 @@ public class SysUserService implements UserService {
|
|||
/**
|
||||
* 查询用户所属角色组
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
public String selectUserRoleGroup(String userName) {
|
||||
List<SysRoleVo> list = roleMapper.selectRolesByUserName(userName);
|
||||
public String selectUserRoleGroup(Long userId) {
|
||||
List<SysRoleVo> list = roleMapper.selectRolesByUserId(userId);
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
@ -178,11 +178,11 @@ public class SysUserService implements UserService {
|
|||
/**
|
||||
* 查询用户所属岗位组
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param userId 用户ID
|
||||
* @return 结果
|
||||
*/
|
||||
public String selectUserPostGroup(String userName) {
|
||||
List<SysPostVo> list = postMapper.selectPostsByUserName(userName);
|
||||
public String selectUserPostGroup(Long userId) {
|
||||
List<SysPostVo> list = postMapper.selectPostsByUserId(userId);
|
||||
if (CollUtil.isEmpty(list)) {
|
||||
return StringUtils.EMPTY;
|
||||
}
|
||||
|
@ -379,20 +379,6 @@ public class SysUserService implements UserService {
|
|||
.eq(SysUser::getUserId, userId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置用户密码
|
||||
*
|
||||
* @param userName 用户名
|
||||
* @param password 密码
|
||||
* @return 结果
|
||||
*/
|
||||
public int resetUserPwd(String userName, String password) {
|
||||
return userMapper.update(null,
|
||||
new LambdaUpdateWrapper<SysUser>()
|
||||
.set(SysUser::getPassword, password)
|
||||
.eq(SysUser::getUserName, userName));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增用户角色信息
|
||||
*
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectPostsByUserName" parameterType="String" resultMap="SysPostResult">
|
||||
<select id="selectPostsByUserId" parameterType="Long" resultMap="SysPostResult">
|
||||
select p.post_id, p.post_name, p.post_code
|
||||
from sys_post p
|
||||
left join sys_user_post up on up.post_id = p.post_id
|
||||
left join sys_user u on u.user_id = up.user_id
|
||||
where u.user_name = #{userName}
|
||||
left join sys_user_post up on up.post_id = p.post_id
|
||||
left join sys_user u on u.user_id = up.user_id
|
||||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectPagePostList" resultMap="SysPostResult">
|
||||
|
|
|
@ -20,10 +20,9 @@
|
|||
r.create_time,
|
||||
r.remark
|
||||
from sys_role r
|
||||
left join sys_user_role sur on sur.role_id = r.role_id
|
||||
left join sys_user u on u.user_id = sur.user_id
|
||||
left join sys_user us on us.user_name = r.create_by
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_role sur on sur.role_id = r.role_id
|
||||
left join sys_user u on u.user_id = sur.user_id
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
</sql>
|
||||
|
||||
<select id="selectPageRoleList" resultMap="SysRoleResult">
|
||||
|
@ -49,22 +48,15 @@
|
|||
where u.user_id = #{userId}
|
||||
</select>
|
||||
|
||||
<select id="selectRolesByUserName" parameterType="String" resultMap="SysRoleResult">
|
||||
<include refid="selectRoleVo"/>
|
||||
WHERE r.del_flag = '0' and u.user_name = #{userName}
|
||||
</select>
|
||||
|
||||
<select id="selectRolesByUserId" parameterType="Long" resultMap="SysRoleResult">
|
||||
select r.role_id,
|
||||
r.role_name,
|
||||
r.role_key,
|
||||
r.role_sort,
|
||||
r.data_scope,
|
||||
r.status
|
||||
r.role_name,
|
||||
r.role_key,
|
||||
r.role_sort,
|
||||
r.data_scope,
|
||||
r.status
|
||||
from sys_role r
|
||||
left join sys_user_role sur on sur.role_id = r.role_id
|
||||
left join sys_user u on u.user_id = sur.user_id
|
||||
WHERE r.del_flag = '0' and sur.user_id = #{userId}
|
||||
WHERE r.del_flag = '0' and r.role_id in (select role_id from sys_user_role where user_id = #{userId})
|
||||
</select>
|
||||
|
||||
<select id="selectRoleById" resultMap="SysRoleResult">
|
||||
|
|
Loading…
Reference in a new issue