😎增加当前用户状态获取角色集合
This commit is contained in:
parent
cf1aeb990f
commit
aab44e447a
@ -41,6 +41,11 @@ public class CacheConst
|
||||
/// </summary>
|
||||
public const string KeyUserOrg = "sys_user_org:";
|
||||
|
||||
/// <summary>
|
||||
/// 用户角色缓存
|
||||
/// </summary>
|
||||
public const string KeyUserRole = "sys_user_role:";
|
||||
|
||||
/// <summary>
|
||||
/// 角色最大数据范围缓存
|
||||
/// </summary>
|
||||
|
||||
@ -500,6 +500,7 @@ public class SysRoleService : IDynamicApiController, ITransient
|
||||
foreach (var userId in userIdList)
|
||||
{
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserRole}{userId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -40,6 +40,7 @@ public class SysUserRoleService : ITransient
|
||||
|
||||
// 清除缓存
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserApi}{input.UserId}");
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserRole}{input.UserId}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -62,6 +63,7 @@ public class SysUserRoleService : ITransient
|
||||
foreach (var userId in input.UserIdList)
|
||||
{
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserRole}{userId}");
|
||||
}
|
||||
}
|
||||
|
||||
@ -72,15 +74,12 @@ public class SysUserRoleService : ITransient
|
||||
/// <returns></returns>
|
||||
public async Task DeleteUserRoleByRoleId(long roleId)
|
||||
{
|
||||
var userIdList = await _sysUserRoleRep.AsQueryable()
|
||||
.Where(u => u.RoleId == roleId)
|
||||
.Select(u => u.UserId)
|
||||
.ToListAsync();
|
||||
|
||||
var userIdList = await _sysUserRoleRep.AsQueryable().Where(u => u.RoleId == roleId).Select(u => u.UserId).ToListAsync();
|
||||
// 清除缓存
|
||||
foreach (var userId in userIdList)
|
||||
{
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserRole}{userId}");
|
||||
}
|
||||
|
||||
await _sysUserRoleRep.DeleteAsync(u => u.RoleId == roleId);
|
||||
@ -97,6 +96,7 @@ public class SysUserRoleService : ITransient
|
||||
|
||||
// 清除缓存
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
_sysCacheService.Remove($"{CacheConst.KeyUserRole}{userId}");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -106,8 +106,7 @@ public class SysUserRoleService : ITransient
|
||||
/// <returns></returns>
|
||||
public async Task<List<SysRole>> GetUserRoleList(long userId)
|
||||
{
|
||||
var sysUserRoleList = await _sysUserRoleRep.AsQueryable().Includes(u => u.SysRole)
|
||||
.Where(u => u.UserId == userId).ToListAsync();
|
||||
var sysUserRoleList = await _sysUserRoleRep.AsQueryable().Includes(u => u.SysRole).Where(u => u.UserId == userId).ToListAsync();
|
||||
return sysUserRoleList.Where(u => u.SysRole != null).Select(u => u.SysRole).ToList();
|
||||
}
|
||||
|
||||
@ -118,8 +117,12 @@ public class SysUserRoleService : ITransient
|
||||
/// <returns></returns>
|
||||
public async Task<List<long>> GetUserRoleIdList(long userId)
|
||||
{
|
||||
return await _sysUserRoleRep.AsQueryable()
|
||||
.Where(u => u.UserId == userId).Select(u => u.RoleId).ToListAsync();
|
||||
var roleIds = _sysCacheService.Get<List<long>>($"{CacheConst.KeyUserRole}{userId}");
|
||||
if (roleIds != null) return roleIds;
|
||||
|
||||
roleIds = await _sysUserRoleRep.AsQueryable().Where(u => u.UserId == userId).Select(u => u.RoleId).ToListAsync();
|
||||
_sysCacheService.Set($"{CacheConst.KeyUserRole}{userId}", roleIds);
|
||||
return roleIds;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -142,7 +145,6 @@ public class SysUserRoleService : ITransient
|
||||
/// <returns></returns>
|
||||
public async Task<List<long>> GetUserIdList(long roleId)
|
||||
{
|
||||
return await _sysUserRoleRep.AsQueryable()
|
||||
.Where(u => u.RoleId == roleId).Select(u => u.UserId).ToListAsync();
|
||||
return await _sysUserRoleRep.AsQueryable().Where(u => u.RoleId == roleId).Select(u => u.UserId).ToListAsync();
|
||||
}
|
||||
}
|
||||
@ -91,16 +91,16 @@ public class UserManager(IHttpContextAccessor httpContextAccessor, SysCacheServi
|
||||
/// </summary>
|
||||
public string OpenId => httpContextAccessor.HttpContext?.User.FindFirst(ClaimConst.OpenId)?.Value;
|
||||
|
||||
///// <summary>
|
||||
///// 角色Id集合
|
||||
///// </summary>
|
||||
//public List<long> RoleIds
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// return sysCacheService.Get<List<long>>($"{CacheConst.KeyUserOrg}{UserId}");
|
||||
// }
|
||||
//}
|
||||
/// <summary>
|
||||
/// 角色Id集合
|
||||
/// </summary>
|
||||
public List<long> RoleIds
|
||||
{
|
||||
get
|
||||
{
|
||||
return sysCacheService.Get<List<long>>($"{CacheConst.KeyUserRole}{UserId}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 机构Id集合
|
||||
@ -114,7 +114,7 @@ public class UserManager(IHttpContextAccessor httpContextAccessor, SysCacheServi
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 权限集合
|
||||
/// 权限集合(接口按钮)
|
||||
/// </summary>
|
||||
public List<List<string>> Permissions
|
||||
{
|
||||
|
||||
@ -24,10 +24,12 @@ public static class SqlSugarFilter
|
||||
|
||||
// 删除用户机构集合缓存
|
||||
sysCacheService.Remove($"{CacheConst.KeyUserOrg}{userId}");
|
||||
// 删除用户权限集合缓存(接口按钮)
|
||||
sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
// 删除用户角色集合缓存
|
||||
sysCacheService.Remove($"{CacheConst.KeyUserRole}{userId}");
|
||||
// 删除最大数据权限缓存
|
||||
sysCacheService.Remove($"{CacheConst.KeyRoleMaxDataScope}{userId}");
|
||||
// 用户权限缓存(接口集合)
|
||||
sysCacheService.Remove($"{CacheConst.KeyUserApi}{userId}");
|
||||
// 删除用户机构(数据范围)缓存——过滤器
|
||||
_cache.Remove($"db:{dbConfigId}:orgList:{userId}");
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"name": "admin.net.pro",
|
||||
"type": "module",
|
||||
"version": "2.4.33",
|
||||
"lastBuildTime": "2025.09.14",
|
||||
"lastBuildTime": "2025.09.15",
|
||||
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
|
||||
"author": "zuohuaijun",
|
||||
"license": "MIT",
|
||||
@ -20,8 +20,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@element-plus/icons-vue": "^2.3.2",
|
||||
"@logicflow/core": "^2.1.1",
|
||||
"@logicflow/extension": "^2.1.2",
|
||||
"@logicflow/core": "^2.1.2",
|
||||
"@logicflow/extension": "^2.1.3",
|
||||
"@microsoft/signalr": "^9.0.6",
|
||||
"@vue-office/docx": "^1.6.3",
|
||||
"@vue-office/excel": "^1.7.14",
|
||||
@ -81,7 +81,7 @@
|
||||
"vue-router": "^4.5.1",
|
||||
"vue-signature-pad": "^3.0.2",
|
||||
"vue3-tree-org": "^4.2.2",
|
||||
"vxe-pc-ui": "^4.9.28",
|
||||
"vxe-pc-ui": "^4.9.29",
|
||||
"vxe-table": "^4.16.11",
|
||||
"xe-utils": "^3.7.9",
|
||||
"xlsx-js-style": "^1.2.0"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user