修复 - 循环依赖

This commit is contained in:
lyd
2022-09-23 11:21:30 +08:00
parent 4fe14aeddd
commit 9e596b6794
2 changed files with 13 additions and 16 deletions

View File

@@ -2,9 +2,6 @@ package org.nl.modules.security.satoken.utils;
import cn.dev33.satoken.stp.StpUtil;
import lombok.RequiredArgsConstructor;
import org.nl.modules.system.domain.User;
import org.nl.modules.system.service.RoleService;
import org.nl.modules.system.service.UserService;
import org.nl.modules.system.service.dto.UserDto;
import org.nl.utils.dto.CurrentUser;
import org.springframework.stereotype.Component;
@@ -20,23 +17,19 @@ import java.util.List;
@RequiredArgsConstructor
public class FlushSessionUtil {
private final UserService userService;
private final RoleService roleService;
/**
* 更新session数据 - Session TokenSession
* @param user
* @param userDto
* @param permissionList
*/
public void flushSessionInfo(User user) {
UserDto userDto = userService.findByName(user.getUsername());
List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
public void flushSessionInfo(UserDto userDto, List<String> permissionList) {
StpUtil.getSession().set("UserDto", userDto);
// 获取权限列表 - 登录查找权限
CurrentUser user2 = new CurrentUser();
user2.setId(userDto.getId());
user2.setUsername(userDto.getUsername());
user2.setUser(userDto);
user2.setPermissions(permissionList);
CurrentUser user = new CurrentUser();
user.setId(userDto.getId());
user.setUsername(userDto.getUsername());
user.setUser(userDto);
user.setPermissions(permissionList);
StpUtil.getTokenSession().set("userInfo", user);
}
}

View File

@@ -24,6 +24,7 @@ import org.nl.modules.security.satoken.utils.FlushSessionUtil;
import org.nl.modules.security.service.OnlineUserService;
import org.nl.modules.system.domain.User;
import org.nl.modules.system.repository.UserRepository;
import org.nl.modules.system.service.RoleService;
import org.nl.modules.system.service.UserService;
import org.nl.modules.system.service.dto.JobSmallDto;
import org.nl.modules.system.service.dto.RoleSmallDto;
@@ -61,6 +62,7 @@ public class UserServiceImpl implements UserService {
private final RedisUtils redisUtils;
private final OnlineUserService onlineUserService;
private final FlushSessionUtil flushSessionUtil;
private final RoleService roleService;
@Override
@@ -248,6 +250,8 @@ public class UserServiceImpl implements UserService {
* @param user /
*/
private void flushSession(User user) {
flushSessionUtil.flushSessionInfo(user);
UserDto userDto = this.findByName(user.getUsername());
List<String> permissionList = roleService.getPermissionList(userDto.getId().toString());
flushSessionUtil.flushSessionInfo(userDto, permissionList);
}
}