😎恢复机构缓存处理
This commit is contained in:
parent
1d35abaacb
commit
10e0f65fb4
@ -302,7 +302,8 @@ public class SysOrgService : IDynamicApiController, ITransient
|
||||
[NonAction]
|
||||
public async Task<List<long>> GetUserOrgIdList(long userId, long userOrgId)
|
||||
{
|
||||
return await _sysCacheService.AdGetAsync(CacheConst.KeyUserOrg, async (_, _) =>
|
||||
var orgIdList = _sysCacheService.Get<List<long>>($"{CacheConst.KeyUserOrg}{userId}"); // 取缓存
|
||||
if (orgIdList == null || orgIdList.Count < 1)
|
||||
{
|
||||
// 本人创建机构集合
|
||||
var orgList0 = await _sysOrgRep.AsQueryable().Where(u => u.CreateUserId == userId).Select(u => u.Id).ToListAsync();
|
||||
@ -311,12 +312,13 @@ public class SysOrgService : IDynamicApiController, ITransient
|
||||
// 角色机构集合
|
||||
var orgList2 = await GetUserRoleOrgIdList(userId, userOrgId);
|
||||
// 机构并集
|
||||
var orgIdList = orgList1.Select(u => u.OrgId).Union(orgList2).Union(orgList0).ToList();
|
||||
orgIdList = orgList1.Select(u => u.OrgId).Union(orgList2).Union(orgList0).ToList();
|
||||
// 当前所属机构
|
||||
if (!orgIdList.Contains(userOrgId))
|
||||
orgIdList.Add(userOrgId);
|
||||
return orgIdList;
|
||||
}, userId, userOrgId);
|
||||
_sysCacheService.Set($"{CacheConst.KeyUserOrg}{userId}", orgIdList, TimeSpan.FromDays(7)); // 存缓存
|
||||
}
|
||||
return orgIdList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user