✨ 应收账单接入角色数据权限并同步在线缓存

This commit is contained in:
caojia
2026-10-27 11:29:24 +08:00
parent f3fa3e1396
commit 4659c63ef9
13 changed files with 649 additions and 24 deletions
@@ -238,6 +238,12 @@ public class TokenService
* @param permissionService 权限服务
*/
public void refreshPermissionByRoleId(Long roleId, SysPermissionService permissionService)
{
refreshPermissionByRoleId(roleId, permissionService, null);
}
/** 数据范围变更时同步更新在线登录信息中的角色快照。 */
public void refreshPermissionByRoleId(Long roleId, SysPermissionService permissionService, String dataScope)
{
// 扫描所有在线 token
String pattern = CacheConstants.LOGIN_TOKEN_KEY + "*";
@@ -261,6 +267,12 @@ public class TokenService
{
continue;
}
if (dataScope != null)
{
loginUser.getUser().getRoles().stream()
.filter(r -> roleId.equals(r.getRoleId()))
.forEach(r -> r.setDataScope(dataScope));
}
// 刷新权限缓存
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
refreshToken(loginUser);