diff --git a/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/OnlineUserServiceImpl.java b/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/OnlineUserServiceImpl.java index e502d9c..2ecbef1 100644 --- a/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/OnlineUserServiceImpl.java +++ b/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/OnlineUserServiceImpl.java @@ -72,6 +72,7 @@ public class OnlineUserServiceImpl implements OnlineUserService { @Override public void force(String tokenId) { redisTemplate.delete(CacheConstants.LOGIN_TOKEN_KEY + tokenId); + redisTemplate.delete(CacheConstants.ROUTE_CACHE_KEY + tokenId); } private OnlineUser toOnlineUser(LoginUser user) { diff --git a/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserServiceImpl.java b/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserServiceImpl.java index 5a1571d..4036c19 100644 --- a/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserServiceImpl.java +++ b/admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserServiceImpl.java @@ -307,6 +307,7 @@ public class UserServiceImpl implements UserService { batchUserPost(dto, Boolean.TRUE); dto.setPassword(null); UserBase user = dto.toUser(); + return userMapper.update(user); } diff --git a/auth/src/main/java/cn/fateverse/auth/service/impl/LoginServiceImpl.java b/auth/src/main/java/cn/fateverse/auth/service/impl/LoginServiceImpl.java index eb5ee91..e89241a 100644 --- a/auth/src/main/java/cn/fateverse/auth/service/impl/LoginServiceImpl.java +++ b/auth/src/main/java/cn/fateverse/auth/service/impl/LoginServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -95,7 +96,7 @@ public class LoginServiceImpl implements LoginService { throw new CustomException("验证码错误!"); } redisTemplate.delete(uuid); - //用户验证 + //用户验证 Authentication authentication = null; try { // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername @@ -156,11 +157,15 @@ public class LoginServiceImpl implements LoginService { @Override public List getMenuRouterByUserId() { - List result = (List) redisTemplate.opsForValue().get(CacheConstants.ROUTE_CACHE_KEY + SecurityUtils.getUserId()); + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (ObjectUtils.isEmpty(loginUser)){ + throw new CustomException("获取用户信息失败!"); + } + List result = (List) redisTemplate.opsForValue().get(CacheConstants.ROUTE_CACHE_KEY + loginUser.getUuid()); if (result == null || result.isEmpty()) { - RLock lock = redissonClient.getLock(CacheConstants.ROUTE_CACHE_KEY + "lock:" + SecurityUtils.getUserId()); + RLock lock = redissonClient.getLock(CacheConstants.ROUTE_CACHE_KEY + "lock:" + loginUser.getUuid()); try { - result = (List) redisTemplate.opsForValue().get(CacheConstants.ROUTE_CACHE_KEY + SecurityUtils.getUserId()); + result = (List) redisTemplate.opsForValue().get(CacheConstants.ROUTE_CACHE_KEY + loginUser.getUuid()); if (result == null || result.isEmpty()) { result = menuService.selectMenuRouterByUserId(SecurityUtils.getUserId()); if (result == null || result.isEmpty()) { @@ -168,7 +173,7 @@ public class LoginServiceImpl implements LoginService { // throw new CustomException("获取路由异常!"); return new ArrayList<>(); } - redisTemplate.opsForValue().set(CacheConstants.ROUTE_CACHE_KEY + SecurityUtils.getUserId(),result,30, TimeUnit.MINUTES); + redisTemplate.opsForValue().set(CacheConstants.ROUTE_CACHE_KEY + loginUser.getUuid(), result, 30, TimeUnit.MINUTES); } } finally { if (lock.isLocked() && lock.isHeldByCurrentThread()) { diff --git a/common/common-core/src/main/java/cn/fateverse/common/core/constant/CacheConstants.java b/common/common-core/src/main/java/cn/fateverse/common/core/constant/CacheConstants.java index da569d4..bd13717 100644 --- a/common/common-core/src/main/java/cn/fateverse/common/core/constant/CacheConstants.java +++ b/common/common-core/src/main/java/cn/fateverse/common/core/constant/CacheConstants.java @@ -14,7 +14,7 @@ public class CacheConstants { /** * 路由缓存地址 */ - public static final String ROUTE_CACHE_KEY = "router_key:"; + public static final String ROUTE_CACHE_KEY = "router:key:"; /** * 登录用户 redis key */