😎恢复机构缓存处理

This commit is contained in:
zuohuaijun 2024-08-12 10:26:35 +08:00
parent 1d35abaacb
commit 10e0f65fb4

View File

@ -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>