update:根据权限筛选区域目录树

This commit is contained in:
2021-05-31 18:12:48 +08:00
parent 05ab0ec335
commit 5ab69ff61f
6 changed files with 58 additions and 19 deletions

View File

@@ -80,7 +80,7 @@ namespace Ewide.Core.Service.Area
/// 获取区域目录树
/// </summary>
/// <returns></returns>
public async Task<List<AreaTreeNode>> GetAreaCodeTree(int? level)
public async Task<List<AreaTreeNode>> GetAreaCodeTree(int? level, List<string> areaCodeList)
{
level = level.GetValueOrDefault(100);
var cachedAreaCodes = await _sysCacheService.GetAreaCode();
@@ -92,7 +92,12 @@ namespace Ewide.Core.Service.Area
await _sysCacheService.SetAreaCode(cachedAreaCodes);
#endif
}
cachedAreaCodes = cachedAreaCodes.Where(p => p.LevelType <= level).ToList();
var query = cachedAreaCodes.Where(p => p.LevelType <= level);
if (areaCodeList != null)
{
query = query.Where(p => areaCodeList.Contains(p.Code));
}
cachedAreaCodes = query.ToList();
return new TreeBuildUtil<AreaTreeNode>().DoTreeBuild(cachedAreaCodes.Select(u => new AreaTreeNode
{
Code = u.Code,
@@ -167,5 +172,10 @@ namespace Ewide.Core.Service.Area
}
return true;
}
public async Task<List<string>> GetAreaCodeListByOrgId(List<string> orgIdList)
{
return await _sysOrgRep.DetachedEntities.Where(p => orgIdList.Contains(p.Id)).Select(p => p.AreaCode).Distinct().ToListAsync();
}
}
}

View File

@@ -16,8 +16,10 @@ namespace Ewide.Core.Service.Area
Task<SysAreaCode> GetAreaCode(string code);
Task<List<SysAreaCode>> GetAreaCodeWithChildren(string code);
Task<List<AreaTreeNode>> GetAreaCodeTree(int? level);
Task<List<AreaTreeNode>> GetAreaCodeTree(int? level,List<string> areaCodeList);
Task<dynamic> QueryAreaCodePageList([FromQuery] AreaCodeInput input);
Task<List<string>> GetAreaCodeListByOrgId(List<string> orgIdList);
}
}