feat:Query和QueryV2支持附件返回oss对象下载地址
This commit is contained in:
parent
6ea5a977df
commit
5fef9ee24b
@ -11,4 +11,9 @@ public class FileItemDto
|
||||
/// 文件名称
|
||||
/// </summary>
|
||||
public string FileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 文件下载地址
|
||||
/// </summary>
|
||||
public string? DownloadUrl { get; set; }
|
||||
}
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using SJZY.Expand.AliyunOSS;
|
||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||
@ -53,6 +54,13 @@ public partial class TrackService
|
||||
trackContents.ForEach(x => trackContentDic.Add(x.Code, x.IsExternal));
|
||||
}
|
||||
|
||||
var ossKeys = details
|
||||
.Where(x => x.Files != null && x.Files.Count > 0)
|
||||
.SelectMany(x => x.Files!.Select(y => y.OssKey))
|
||||
.ToArray();
|
||||
//根据osskey获取下载地址
|
||||
var ossKeyUrlDict = OSSHelper.GetUrlByKeys(ossKeys);
|
||||
|
||||
foreach (var group in details.GroupBy(x => x.OrderId))
|
||||
{
|
||||
var item = new GetTrackOutput();
|
||||
@ -83,7 +91,8 @@ public partial class TrackService
|
||||
Files = x.Files?.Select(y => new FileItemDto
|
||||
{
|
||||
FileName = y.FileName,
|
||||
OssKey = y.OssKey
|
||||
OssKey = y.OssKey,
|
||||
DownloadUrl = ossKeyUrlDict.TryGetValue(y.OssKey, out var url) ? url : null
|
||||
}).ToList(),
|
||||
TrackPlaceCity = x.TrackPlaceCity,
|
||||
TrackPlaceCityId = x.TrackPlaceCityId,
|
||||
@ -100,6 +109,7 @@ public partial class TrackService
|
||||
res.Add(item);
|
||||
}
|
||||
|
||||
|
||||
// 排序
|
||||
var sortedList = await TracksOrdered(res, input, input.SortMethod);
|
||||
|
||||
@ -142,6 +152,13 @@ public partial class TrackService
|
||||
trackContents.ForEach(x => trackContentDic.Add(x.Code, x.IsExternal));
|
||||
}
|
||||
|
||||
var ossKeys = details
|
||||
.Where(x => x.Files != null && x.Files.Count > 0)
|
||||
.SelectMany(x => x.Files!.Select(y => y.OssKey))
|
||||
.ToArray();
|
||||
//根据osskey获取下载地址
|
||||
var ossKeyUrlDict = OSSHelper.GetUrlByKeys(ossKeys);
|
||||
|
||||
foreach (var group in details.GroupBy(x => x.OrderId))
|
||||
{
|
||||
var item = new GetTrackOutput();
|
||||
@ -168,7 +185,8 @@ public partial class TrackService
|
||||
Files = x.Files?.Select(y => new FileItemDto
|
||||
{
|
||||
FileName = y.FileName,
|
||||
OssKey = y.OssKey
|
||||
OssKey = y.OssKey,
|
||||
DownloadUrl = ossKeyUrlDict.TryGetValue(y.OssKey, out var url) ? url : null
|
||||
}).ToList(),
|
||||
TrackPlaceCity = x.TrackPlaceCity,
|
||||
TrackPlaceCityId = x.TrackPlaceCityId,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user