fix-user:修复 刷新权限 以及 二次缓存登录时 引起的菜单以及人员信息缺失问题

This commit is contained in:
ShunXing 2023-08-03 16:35:11 +08:00
parent e465fdbf0a
commit 7335e987b8
2 changed files with 20 additions and 1 deletions

View File

@ -57,6 +57,9 @@ public class LoginController {
@GetMapping("/login/getLoginInfo") @GetMapping("/login/getLoginInfo")
public ResponseDTO<LoginEmployeeDetail> getLoginInfo() { public ResponseDTO<LoginEmployeeDetail> getLoginInfo() {
LoginEmployeeDetail loginEmployeeDetail = loginService.getLoginUserDetailCache(SmartRequestUtil.getUserId()); LoginEmployeeDetail loginEmployeeDetail = loginService.getLoginUserDetailCache(SmartRequestUtil.getUserId());
if(loginEmployeeDetail == null) return ResponseDTO.okMsg("登录信息查询有误");
return ResponseDTO.ok(loginEmployeeDetail); return ResponseDTO.ok(loginEmployeeDetail);
} }

View File

@ -1,5 +1,6 @@
package net.lab1024.sa.admin.module.system.login.service; package net.lab1024.sa.admin.module.system.login.service;
import cn.hutool.core.util.ObjectUtil;
import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap; import com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO; import net.lab1024.sa.admin.module.system.department.domain.vo.DepartmentVO;
@ -199,7 +200,22 @@ public class LoginService {
* @param requestUserId * @param requestUserId
*/ */
public LoginEmployeeDetail getLoginUserDetailCache(Long requestUserId) { public LoginEmployeeDetail getLoginUserDetailCache(Long requestUserId) {
return loginUserDetailCache.get(requestUserId); LoginEmployeeDetail loginEmployeeDetail = loginUserDetailCache.get(requestUserId);
if(ObjectUtil.isNotEmpty(loginEmployeeDetail))return loginEmployeeDetail;
//获得雇员信息
EmployeeEntity employeeEntity = employeeService.getById(requestUserId);
if(ObjectUtil.isEmpty(employeeEntity))return null;
//获取员工登录信息
loginEmployeeDetail = loadLoginInfo(employeeEntity);
if(ObjectUtil.isNotEmpty(loginEmployeeDetail))return loginEmployeeDetail;
return null;
} }