媒体文件夹返回树结构
parent
985c9b13a0
commit
507477ae4d
|
|
@ -1691,15 +1691,42 @@ namespace OpenAuth.App.ServiceApp
|
|||
|
||||
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
||||
{
|
||||
// todo 列出所属项目所有 文件
|
||||
var result = await Repository.ChangeRepository<SugarRepositiry<LasaMediaFile>>()
|
||||
// 列出所属项目所有 文件
|
||||
var result = await Repository.ChangeRepository<SugarRepositiry<LasaMediaFile>>()
|
||||
.AsQueryable()
|
||||
.Where(r => r.WorkspaceId == workspaceId)
|
||||
.WhereIF(!string.IsNullOrEmpty(workspaceId),r => r.WorkspaceId == workspaceId)
|
||||
.Where(r => r.ObjectKey == null)
|
||||
.OrderBy(r => r.CreateTime)
|
||||
.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 minipic { get; set; }
|
||||
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public List<LasaMediaFile> Children { get; set; }
|
||||
}
|
||||
|
|
@ -179,7 +179,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 根据机场sn获取无人机列表
|
||||
/// </summary>
|
||||
|
|
@ -289,8 +289,8 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
{
|
||||
return await _app.GetTaskPicList(flightId, timestamp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<Response<CommandVideoResponse>> GetTaskVideoList(string flightId, long timestamp)
|
||||
|
|
@ -301,7 +301,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
#endregion
|
||||
|
||||
#region 航线管理
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public async Task<Response<bool>> CreateAirLineFolder(FolderCreateReq req)
|
||||
{
|
||||
|
|
@ -619,7 +619,7 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
{
|
||||
return await _app.TestExecuteFlyTask(flightid);
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
|
|
@ -820,12 +820,16 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers
|
|||
|
||||
#endregion
|
||||
|
||||
#region 媒体库
|
||||
#region 媒体库
|
||||
|
||||
/// <summary>
|
||||
/// 媒体文件夹树结构
|
||||
/// </summary>
|
||||
/// <param name="workspaceId"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<List<LasaMediaFile>> ListMediaFolder(string workspaceId)
|
||||
{
|
||||
|
||||
return await _app.ListMediaFolder(workspaceId);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue