fix: 用户角色授权变更后没有清理缓存
This commit is contained in:
parent
d907507cd9
commit
f60b6735fb
@ -12,10 +12,13 @@ namespace Admin.NET.Core.Service;
|
|||||||
public class SysUserRoleService : ITransient
|
public class SysUserRoleService : ITransient
|
||||||
{
|
{
|
||||||
private readonly SqlSugarRepository<SysUserRole> _sysUserRoleRep;
|
private readonly SqlSugarRepository<SysUserRole> _sysUserRoleRep;
|
||||||
|
private readonly SysCacheService _sysCacheService;
|
||||||
|
|
||||||
public SysUserRoleService(SqlSugarRepository<SysUserRole> sysUserRoleRep)
|
public SysUserRoleService(SqlSugarRepository<SysUserRole> sysUserRoleRep,
|
||||||
|
SysCacheService sysCacheService)
|
||||||
{
|
{
|
||||||
_sysUserRoleRep = sysUserRoleRep;
|
_sysUserRoleRep = sysUserRoleRep;
|
||||||
|
_sysCacheService = sysCacheService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -34,6 +37,9 @@ public class SysUserRoleService : ITransient
|
|||||||
RoleId = u
|
RoleId = u
|
||||||
}).ToList();
|
}).ToList();
|
||||||
await _sysUserRoleRep.InsertRangeAsync(userRoles);
|
await _sysUserRoleRep.InsertRangeAsync(userRoles);
|
||||||
|
|
||||||
|
// 清除缓存
|
||||||
|
_sysCacheService.Remove(CacheConst.KeyUserApi + input.UserId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -51,6 +57,12 @@ public class SysUserRoleService : ITransient
|
|||||||
RoleId = input.Id
|
RoleId = input.Id
|
||||||
}).ToList();
|
}).ToList();
|
||||||
await _sysUserRoleRep.InsertRangeAsync(userRoles);
|
await _sysUserRoleRep.InsertRangeAsync(userRoles);
|
||||||
|
|
||||||
|
// 清除缓存
|
||||||
|
foreach (var userId in input.UserIdList)
|
||||||
|
{
|
||||||
|
_sysCacheService.Remove(CacheConst.KeyUserApi + userId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -60,6 +72,17 @@ 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()
|
||||||
|
.Where(u => u.RoleId == roleId)
|
||||||
|
.Select(u => u.UserId)
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
// 清除缓存
|
||||||
|
foreach (var userId in userIdList)
|
||||||
|
{
|
||||||
|
_sysCacheService.Remove(CacheConst.KeyUserApi + userId);
|
||||||
|
}
|
||||||
|
|
||||||
await _sysUserRoleRep.DeleteAsync(u => u.RoleId == roleId);
|
await _sysUserRoleRep.DeleteAsync(u => u.RoleId == roleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,6 +94,9 @@ public class SysUserRoleService : ITransient
|
|||||||
public async Task DeleteUserRoleByUserId(long userId)
|
public async Task DeleteUserRoleByUserId(long userId)
|
||||||
{
|
{
|
||||||
await _sysUserRoleRep.DeleteAsync(u => u.UserId == userId);
|
await _sysUserRoleRep.DeleteAsync(u => u.UserId == userId);
|
||||||
|
|
||||||
|
// 清除缓存
|
||||||
|
_sysCacheService.Remove(CacheConst.KeyUserApi + userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user