update:根据权限筛选区域目录树
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user