读写分离
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@ package cn.odboy.core.cache.api;
|
||||
|
||||
import cn.odboy.core.service.system.dto.UserJwtVo;
|
||||
|
||||
public interface SystemUserCacheApi {
|
||||
public interface SystemUserJwtApi {
|
||||
/**
|
||||
* 返回用户缓存
|
||||
*
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package cn.odboy.core.cache.api.impl;
|
||||
|
||||
import cn.odboy.core.cache.api.SystemUserCacheApi;
|
||||
import cn.odboy.core.cache.api.SystemUserJwtApi;
|
||||
import cn.odboy.core.constant.SystemRedisKey;
|
||||
import cn.odboy.core.service.system.dto.UserJwtVo;
|
||||
import cn.odboy.redis.RedisHelper;
|
||||
@@ -11,7 +11,7 @@ import javax.annotation.Resource;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class SystemUserCacheApiImpl implements SystemUserCacheApi {
|
||||
public class SystemUserJwtApiImpl implements SystemUserJwtApi {
|
||||
@Resource
|
||||
private RedisHelper redisHelper;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package cn.odboy.core.cache.service;
|
||||
import cn.odboy.core.service.system.dto.UserJwtVo;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
|
||||
public interface SystemUserCacheService {
|
||||
public interface SystemUserJwtService {
|
||||
/**
|
||||
* 添加缓存到Redis
|
||||
*
|
||||
+2
-2
@@ -3,7 +3,7 @@ package cn.odboy.core.cache.service.impl;
|
||||
import cn.hutool.core.util.RandomUtil;
|
||||
import cn.odboy.core.constant.SystemRedisKey;
|
||||
import cn.odboy.core.service.system.dto.UserJwtVo;
|
||||
import cn.odboy.core.cache.service.SystemUserCacheService;
|
||||
import cn.odboy.core.cache.service.SystemUserJwtService;
|
||||
import cn.odboy.redis.RedisHelper;
|
||||
import cn.odboy.util.StringUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -13,7 +13,7 @@ import javax.annotation.Resource;
|
||||
* 用户缓存管理
|
||||
*/
|
||||
@Service
|
||||
public class SystemUserCacheServiceImpl implements SystemUserCacheService {
|
||||
public class SystemUserJwtServiceImpl implements SystemUserJwtService {
|
||||
@Resource
|
||||
private RedisHelper redisHelper;
|
||||
|
||||
+6
-6
@@ -3,9 +3,9 @@ package cn.odboy.core.framework.permission;
|
||||
import cn.odboy.core.api.system.SystemDataApi;
|
||||
import cn.odboy.core.api.system.SystemRoleApi;
|
||||
import cn.odboy.core.api.system.SystemUserApi;
|
||||
import cn.odboy.core.cache.api.SystemUserCacheApi;
|
||||
import cn.odboy.core.cache.api.SystemUserJwtApi;
|
||||
import cn.odboy.core.dal.dataobject.system.User;
|
||||
import cn.odboy.core.cache.service.SystemUserCacheService;
|
||||
import cn.odboy.core.cache.service.SystemUserJwtService;
|
||||
import cn.odboy.core.service.system.dto.RoleCodeVo;
|
||||
import cn.odboy.core.service.system.dto.UserJwtVo;
|
||||
import cn.odboy.exception.BadRequestException;
|
||||
@@ -22,12 +22,12 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
private final SystemRoleApi systemRoleApi;
|
||||
private final SystemUserApi systemUserApi;
|
||||
private final SystemDataApi systemDataApi;
|
||||
private final SystemUserCacheService systemUserCacheService;
|
||||
private final SystemUserCacheApi systemUserCacheApi;
|
||||
private final SystemUserJwtService systemUserJwtService;
|
||||
private final SystemUserJwtApi systemUserJwtApi;
|
||||
|
||||
@Override
|
||||
public UserJwtVo loadUserByUsername(String username) {
|
||||
UserJwtVo userJwtVo = systemUserCacheApi.describeUserJwtModelByUsername(username);
|
||||
UserJwtVo userJwtVo = systemUserJwtApi.describeUserJwtModelByUsername(username);
|
||||
if (userJwtVo == null) {
|
||||
User user = systemUserApi.describeUserByUsername(username);
|
||||
if (user == null) {
|
||||
@@ -41,7 +41,7 @@ public class UserDetailsServiceImpl implements UserDetailsService {
|
||||
// 初始化JwtUserDto
|
||||
userJwtVo = new UserJwtVo(user, systemDataApi.describeDeptIdListByUserIdWithDeptId(user), authorities);
|
||||
// 添加缓存数据
|
||||
systemUserCacheService.saveUserJwtModelByUserName(username, userJwtVo);
|
||||
systemUserJwtService.saveUserJwtModelByUserName(username, userJwtVo);
|
||||
}
|
||||
}
|
||||
return userJwtVo;
|
||||
|
||||
+3
-3
@@ -11,7 +11,7 @@ import cn.odboy.core.dal.mysql.system.RoleMapper;
|
||||
import cn.odboy.core.dal.mysql.system.RoleMenuMapper;
|
||||
import cn.odboy.core.dal.mysql.system.UserMapper;
|
||||
import cn.odboy.core.service.system.SystemRoleService;
|
||||
import cn.odboy.core.cache.service.SystemUserCacheService;
|
||||
import cn.odboy.core.cache.service.SystemUserJwtService;
|
||||
import cn.odboy.core.service.system.dto.CreateRoleRequest;
|
||||
import cn.odboy.exception.EntityExistException;
|
||||
import cn.odboy.redis.RedisHelper;
|
||||
@@ -36,7 +36,7 @@ public class SystemRoleServiceImpl extends ServiceImpl<RoleMapper, Role> impleme
|
||||
private final RoleDeptMapper roleDeptMapper;
|
||||
private final RoleMenuMapper roleMenuMapper;
|
||||
private final UserMapper userMapper;
|
||||
private final SystemUserCacheService systemUserCacheService;
|
||||
private final SystemUserJwtService systemUserJwtService;
|
||||
private final RedisHelper redisHelper;
|
||||
|
||||
@Override
|
||||
@@ -125,7 +125,7 @@ public class SystemRoleServiceImpl extends ServiceImpl<RoleMapper, Role> impleme
|
||||
public void delCaches(Long id, List<User> users) {
|
||||
users = CollectionUtil.isEmpty(users) ? userMapper.queryUserListByRoleId(id) : users;
|
||||
if (CollectionUtil.isNotEmpty(users)) {
|
||||
users.forEach(item -> systemUserCacheService.cleanUserJwtModelCacheByUsername(item.getUsername()));
|
||||
users.forEach(item -> systemUserJwtService.cleanUserJwtModelCacheByUsername(item.getUsername()));
|
||||
Set<Long> userIds = users.stream().map(User::getId).collect(Collectors.toSet());
|
||||
redisHelper.delByKeys(SystemRedisKey.DATA_USER, userIds);
|
||||
redisHelper.delByKeys(SystemRedisKey.MENU_USER, userIds);
|
||||
|
||||
+3
-3
@@ -9,7 +9,7 @@ import cn.odboy.core.dal.mysql.system.UserMapper;
|
||||
import cn.odboy.core.dal.mysql.system.UserRoleMapper;
|
||||
import cn.odboy.core.framework.permission.util.SecurityHelper;
|
||||
import cn.odboy.core.framework.properties.AppProperties;
|
||||
import cn.odboy.core.cache.service.SystemUserCacheService;
|
||||
import cn.odboy.core.cache.service.SystemUserJwtService;
|
||||
import cn.odboy.core.cache.service.SystemUserOnlineService;
|
||||
import cn.odboy.core.service.system.SystemUserService;
|
||||
import cn.odboy.exception.BadRequestException;
|
||||
@@ -44,7 +44,7 @@ public class SystemUserServiceImpl extends ServiceImpl<UserMapper, User> impleme
|
||||
private final UserRoleMapper userRoleMapper;
|
||||
private final AppProperties properties;
|
||||
private final RedisHelper redisHelper;
|
||||
private final SystemUserCacheService systemUserCacheService;
|
||||
private final SystemUserJwtService systemUserJwtService;
|
||||
private final SystemUserOnlineService systemUserOnlineService;
|
||||
|
||||
@Override
|
||||
@@ -242,6 +242,6 @@ public class SystemUserServiceImpl extends ServiceImpl<UserMapper, User> impleme
|
||||
* @param username /
|
||||
*/
|
||||
private void flushCache(String username) {
|
||||
systemUserCacheService.cleanUserJwtModelCacheByUsername(username);
|
||||
systemUserJwtService.cleanUserJwtModelCacheByUsername(username);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user