update 解耦 LoginUser 与 SysUser 强关联

This commit is contained in:
疯狂的狮子Li
2021-11-21 01:39:43 +08:00
parent 321bb010cb
commit 019526fbe9
12 changed files with 88 additions and 37 deletions

View File

@ -53,7 +53,7 @@ public class SysUserOnlineController extends BaseController {
if (StringUtils.equals(ipaddr, user.getIpaddr())) {
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
}
} else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser())) {
} else if (StringUtils.isNotEmpty(userName)) {
if (StringUtils.equals(userName, user.getUsername())) {
userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
}

View File

@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysLoginService;
import com.ruoyi.system.service.SysPermissionService;
import io.swagger.annotations.Api;
@ -38,6 +39,7 @@ public class SysLoginController {
private final SysLoginService loginService;
private final ISysMenuService menuService;
private final ISysUserService userService;
private final SysPermissionService permissionService;
/**
@ -65,7 +67,7 @@ public class SysLoginController {
@ApiOperation("获取用户信息")
@GetMapping("getInfo")
public AjaxResult<Map<String, Object>> getInfo() {
SysUser user = SecurityUtils.getLoginUser().getUser();
SysUser user = userService.selectUserById(SecurityUtils.getUserId());
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
// 权限集合

View File

@ -47,7 +47,7 @@ public class SysProfileController extends BaseController {
@GetMapping
public AjaxResult<Map<String, Object>> profile() {
LoginUser loginUser = getLoginUser();
SysUser user = loginUser.getUser();
SysUser user = userService.selectUserById(loginUser.getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user);
ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername()));
@ -71,16 +71,10 @@ public class SysProfileController extends BaseController {
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
LoginUser loginUser = getLoginUser();
SysUser sysUser = loginUser.getUser();
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
user.setUserId(sysUser.getUserId());
user.setPassword(null);
if (userService.updateUserProfile(user) > 0) {
// 更新缓存用户信息
sysUser.setNickName(user.getNickName());
sysUser.setPhonenumber(user.getPhonenumber());
sysUser.setEmail(user.getEmail());
sysUser.setSex(user.getSex());
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
return AjaxResult.error("修改个人信息异常,请联系管理员");
@ -108,7 +102,7 @@ public class SysProfileController extends BaseController {
}
if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) {
// 更新缓存用户密码
loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword));
loginUser.setPassword(SecurityUtils.encryptPassword(newPassword));
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
@ -132,9 +126,6 @@ public class SysProfileController extends BaseController {
String avatar = oss.getUrl();
if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) {
ajax.put("imgUrl", avatar);
// 更新缓存用户头像
loginUser.getUser().setAvatar(avatar);
tokenService.setLoginUser(loginUser);
return AjaxResult.success(ajax);
}
}

View File

@ -105,9 +105,9 @@ public class SysRoleController extends BaseController {
if (roleService.updateRole(role) > 0) {
// 更新缓存用户权限
LoginUser loginUser = getLoginUser();
if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) {
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
SysUser sysUser = userService.selectUserById(loginUser.getUserId());
if (StringUtils.isNotNull(sysUser) && !sysUser.isAdmin()) {
loginUser.setPermissions(permissionService.getMenuPermission(sysUser));
tokenService.setLoginUser(loginUser);
}
return AjaxResult.success();