重构:重构获取登录用户信息的代码逻辑

1.用户基本信息调整为实时获取
2.登录用户不再保存基本信息,降低维护成本
3.移除冗余的维护登录用户基本信息的代码
This commit is contained in:
2023-03-26 10:58:23 +08:00
parent 267ad9be13
commit bc54acd60b
7 changed files with 46 additions and 91 deletions

View File

@@ -45,6 +45,8 @@ import top.charles7c.cnadmin.common.util.RedisUtils;
import top.charles7c.cnadmin.common.util.SecureUtils;
import top.charles7c.cnadmin.common.util.helper.LoginHelper;
import top.charles7c.cnadmin.common.util.validate.ValidationUtils;
import top.charles7c.cnadmin.system.model.vo.UserDetailVO;
import top.charles7c.cnadmin.system.service.UserService;
/**
* 登录 API
@@ -59,6 +61,7 @@ import top.charles7c.cnadmin.common.util.validate.ValidationUtils;
public class LoginController {
private final LoginService loginService;
private final UserService userService;
@SaIgnore
@Operation(summary = "用户登录", description = "根据用户名和密码进行登录认证")
@@ -93,7 +96,10 @@ public class LoginController {
@GetMapping("/user/info")
public R<UserInfoVO> getUserInfo() {
LoginUser loginUser = LoginHelper.getLoginUser();
UserInfoVO userInfoVO = BeanUtil.copyProperties(loginUser, UserInfoVO.class);
UserDetailVO userDetailVO = userService.get(loginUser.getId());
UserInfoVO userInfoVO = BeanUtil.copyProperties(userDetailVO, UserInfoVO.class);
userInfoVO.setPermissions(loginUser.getPermissions());
userInfoVO.setRoles(loginUser.getRoles());
return R.ok(userInfoVO);
}