媒体文件夹返回树结构
parent
985c9b13a0
commit
507477ae4d
|
|
@ -1691,15 +1691,42 @@ namespace OpenAuth.App.ServiceApp
|
||||||
|
|
||||||
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
||||||
{
|
{
|
||||||
// todo 列出所属项目所有 文件
|
// 列出所属项目所有 文件
|
||||||
var result = await Repository.ChangeRepository<SugarRepositiry<LasaMediaFile>>()
|
var result = await Repository.ChangeRepository<SugarRepositiry<LasaMediaFile>>()
|
||||||
.AsQueryable()
|
.AsQueryable()
|
||||||
.Where(r => r.WorkspaceId == workspaceId)
|
.WhereIF(!string.IsNullOrEmpty(workspaceId),r => r.WorkspaceId == workspaceId)
|
||||||
.Where(r => r.ObjectKey == null)
|
.Where(r => r.ObjectKey == null)
|
||||||
.OrderBy(r => r.CreateTime)
|
.OrderBy(r => r.CreateTime)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
// Todo 构建树结构
|
// 构建树结构
|
||||||
return null;
|
return BuildFolderTree1(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public List<LasaMediaFile> BuildFolderTree1(List<LasaMediaFile> folders)
|
||||||
|
{
|
||||||
|
var folderMap = folders.ToDictionary(f => f.Id, f =>
|
||||||
|
{
|
||||||
|
var x = f;
|
||||||
|
x.Children = new List<LasaMediaFile>();
|
||||||
|
return x;
|
||||||
|
});
|
||||||
|
|
||||||
|
var rootNodes = new List<LasaMediaFile>();
|
||||||
|
|
||||||
|
foreach (var folder in folders)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrEmpty(folder.ParentKey) || folder.ParentKey == "0")
|
||||||
|
{
|
||||||
|
rootNodes.Add(folderMap[folder.Id]);
|
||||||
|
}
|
||||||
|
else if (folderMap.TryGetValue(folder.ParentKey, out var parentNode))
|
||||||
|
{
|
||||||
|
parentNode.Children.Add(folderMap[folder.Id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return rootNodes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -118,4 +118,7 @@ public class LasaMediaFile
|
||||||
public string PicLink { get; set; }
|
public string PicLink { get; set; }
|
||||||
|
|
||||||
public string minipic { get; set; }
|
public string minipic { get; set; }
|
||||||
|
|
||||||
|
[SugarColumn(IsIgnore = true)]
|
||||||
|
public List<LasaMediaFile> Children { get; set; }
|
||||||
}
|
}
|
||||||
|
|
@ -822,10 +822,14 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
||||||
|
|
||||||
#region 媒体库
|
#region 媒体库
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 媒体文件夹树结构
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="workspaceId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
||||||
{
|
{
|
||||||
|
|
||||||
return await _app.ListMediaFolder(workspaceId);
|
return await _app.ListMediaFolder(workspaceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue