mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	update 解耦 LoginUser 与 SysUser 强关联
This commit is contained in:
		@@ -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));
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
        // 权限集合
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -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();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user