perf:更新用户职位的时候,清除缓存
This commit is contained in:
@@ -154,7 +154,7 @@ public class CoreRoleService extends TsServiceBase<CoreRoleGroupMapper, CoreRole
|
||||
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);
|
||||
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) {
|
||||
TsCacheService.of().keys(StrUtil.format(TsAuthorityHandler.CACHE_HAS_AUTHORITY,
|
||||
roleId, userId)).forEach(key -> TsCacheService.of().remove(key));
|
||||
if (StrUtil.isEmpty(roleId)) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user