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