perf:更新用户职位的时候,清除缓存
This commit is contained in:
@@ -53,7 +53,7 @@ public class CorePlatformUniqueService extends TsServiceBase<CorePlatformUniqueM
|
|||||||
if (tokenBean != null) {
|
if (tokenBean != null) {
|
||||||
|
|
||||||
// 清除授权信息
|
// 清除授权信息
|
||||||
TsCacheService.of().remove(StrUtil.format(TsAuthorityHandler.CACHE_HAS_AUTHORITY,
|
TsCacheService.of().remove(StrUtil.format(TsAuthorityHandler.CACHE_AUTHORITY,
|
||||||
tokenBean.getRoleId(), tokenBean.getId()));
|
tokenBean.getRoleId(), tokenBean.getId()));
|
||||||
|
|
||||||
// 添加登录日志
|
// 添加登录日志
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public class CoreRoleService extends TsServiceBase<CoreRoleGroupMapper, CoreRole
|
|||||||
coreRoleUserMapper.insert(roleUser);
|
coreRoleUserMapper.insert(roleUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
onRoleChange(roleUser.getTypeId(), roleUser.getUserId());
|
onRoleChange("", roleUser.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -171,7 +171,7 @@ public class CoreRoleService extends TsServiceBase<CoreRoleGroupMapper, CoreRole
|
|||||||
coreRoleUser.setIsDeleted(1);
|
coreRoleUser.setIsDeleted(1);
|
||||||
coreRoleUserMapper.updateById(coreRoleUser);
|
coreRoleUserMapper.updateById(coreRoleUser);
|
||||||
|
|
||||||
onRoleChange(coreRoleUser.getTypeId(), coreRoleUser.getUserId());
|
onRoleChange("", coreRoleUser.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -179,8 +179,13 @@ public class CoreRoleService extends TsServiceBase<CoreRoleGroupMapper, CoreRole
|
|||||||
* 当授权发生变化时
|
* 当授权发生变化时
|
||||||
*/
|
*/
|
||||||
public void onRoleChange(String roleId, String userId) {
|
public void onRoleChange(String roleId, String userId) {
|
||||||
TsCacheService.of().keys(StrUtil.format(TsAuthorityHandler.CACHE_HAS_AUTHORITY,
|
if (StrUtil.isEmpty(roleId)) {
|
||||||
roleId, userId)).forEach(key -> TsCacheService.of().remove(key));
|
TsCacheService.of().keys(StrUtil.replace(TsAuthorityHandler.CACHE_AUTHORITY,
|
||||||
|
":{}", "")).forEach(key -> TsCacheService.of().remove(key));
|
||||||
|
} else {
|
||||||
|
TsCacheService.of().keys(StrUtil.format(TsAuthorityHandler.CACHE_AUTHORITY,
|
||||||
|
roleId, userId)).forEach(key -> TsCacheService.of().remove(key));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -68,11 +68,11 @@ public class TsCacheService {
|
|||||||
/**
|
/**
|
||||||
* 获取key
|
* 获取key
|
||||||
*
|
*
|
||||||
* @param pattern
|
* @param prefix
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Set<String> keys(String pattern) {
|
public Set<String> keys(String prefix) {
|
||||||
return tsCacheHandler.keys(pattern);
|
return tsCacheHandler.keys(prefix);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import java.util.List;
|
|||||||
@Service
|
@Service
|
||||||
public interface TsAuthorityHandler {
|
public interface TsAuthorityHandler {
|
||||||
|
|
||||||
String CACHE_HAS_AUTHORITY = "CACHE:HAS_AUTHORITY:{}:{}";
|
String CACHE_AUTHORITY = "CACHE:AUTHORITY:{}:{}";
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class RoleAuthorityAspect {
|
|||||||
|
|
||||||
HttpServletRequest request = ServletKit.getRequest();
|
HttpServletRequest request = ServletKit.getRequest();
|
||||||
TokenBean tokenBean = tsTokenConfig.validToken(request, true);
|
TokenBean tokenBean = tsTokenConfig.validToken(request, true);
|
||||||
String cacheKey = StrUtil.format(TsAuthorityHandler.CACHE_HAS_AUTHORITY, tokenBean.getRoleId(), tokenBean.getId());
|
String cacheKey = StrUtil.format(TsAuthorityHandler.CACHE_AUTHORITY, tokenBean.getRoleId(), tokenBean.getId());
|
||||||
List<String> authorityList = StrUtil.split(TsCacheService.of().get(cacheKey), ";")
|
List<String> authorityList = StrUtil.split(TsCacheService.of().get(cacheKey), ";")
|
||||||
.stream().filter(StrUtil::isNotEmpty).collect(Collectors.toList());
|
.stream().filter(StrUtil::isNotEmpty).collect(Collectors.toList());
|
||||||
if (CollUtil.isEmpty(authorityList)) {
|
if (CollUtil.isEmpty(authorityList)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user