Compare commits

..

No commits in common. "ed014073821fbb86fde103e6f997ba0bd4d3caaa" and "127ae75b5b7cf1d548b1bffaae2e1a5e286867da" have entirely different histories.

4 changed files with 66 additions and 64 deletions

View File

@ -13963,6 +13963,12 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Application.Services.TestService.OldLocalImageResizeJpg(IRaCIS.Core.Application.Helper.IOSSService,IRaCIS.Core.Infra.EFCore.IRepository,Microsoft.AspNetCore.Hosting.IWebHostEnvironment)">
<summary>
维护OSS 影像数据
</summary>
<returns></returns>
</member>
<member name="T:IRaCIS.Application.Contracts.DoctorSearchDTO"> <member name="T:IRaCIS.Application.Contracts.DoctorSearchDTO">
<summary> <summary>
Reviewer 列表查询参数 Reviewer 列表查询参数

View File

@ -42,7 +42,6 @@ namespace IRaCIS.Core.Application.Contracts
//[JsonIgnore] //[JsonIgnore]
//public int NoneDicomCode { get; set; } //public int NoneDicomCode { get; set; }
public string RecordPath { get; set; } = string.Empty;
public bool IsDicom { get; set; } public bool IsDicom { get; set; }
} }

View File

@ -496,7 +496,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
ArchiveFinishedTime = t.ArchiveFinishedTime, ArchiveFinishedTime = t.ArchiveFinishedTime,
RecordPath=t.RecordPath,
IsDicomReUpload = t.IsDicomReUpload, IsDicomReUpload = t.IsDicomReUpload,
StudyId = t.Id, StudyId = t.Id,

View File

@ -371,83 +371,80 @@ namespace IRaCIS.Application.Services
} }
/// <summary> ///// <summary>
/// 维护OSS 影像数据 ///// 维护OSS 影像数据
/// </summary> ///// </summary>
/// <returns></returns> ///// <returns></returns>
[AllowAnonymous] //[AllowAnonymous]
[UnitOfWork] //[UnitOfWork]
public async Task<IResponseOutput> OldLocalImageResizeJpg([FromServices] IOSSService oSSService, [FromServices] IRepository _repository, [FromServices] IWebHostEnvironment _hostEnvironment) //public async Task<IResponseOutput> OldLocalImageResizeJpg([FromServices] IOSSService oSSService, [FromServices] IRepository _repository, [FromServices] IWebHostEnvironment _hostEnvironment)
{ //{
var aliConfig = oSSService.ObjectStoreServiceOptions.AliyunOSS; // var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment);
var _ossClient = new OssClient(aliConfig.endPoint, aliConfig.accessKeyId, aliConfig.accessKeySecret);
var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment); // var studyList = _repository.Where<DicomStudy>(t => t.SeriesList.Any(t => t.ImageResizePath.Length < 10)).Select(t => new { t.TrialId, t.SiteId, t.SubjectId, t.SubjectVisitId, t.Id }).ToList();
var studyList = _repository.Where<DicomStudy>(t => t.SeriesList.Any(t => t.ImageResizePath.Length < 10)).Select(t => new { t.TrialId, t.SiteId, t.SubjectId, t.SubjectVisitId, t.Id }).ToList(); // foreach (var studyitem in studyList)
// {
foreach (var studyitem in studyList) // var relativePath = $"{studyitem.TrialId}/{studyitem.SiteId}/{studyitem.SubjectId}/{studyitem.SubjectVisitId}/{StaticData.Folder.DicomFolder}/{studyitem.Id}/";
{
var relativePath = $"{studyitem.TrialId}/{studyitem.SiteId}/{studyitem.SubjectId}/{studyitem.SubjectVisitId}/{StaticData.Folder.DicomFolder}/{studyitem.Id}/"; // try
// {
// string nextMarker = null;
// do
// {
// // 使用 prefix 模拟目录结构,设置 MaxKeys 和 NextMarker
// var objectListing = oSSService._ossClient.ListObjects(new ListObjectsRequest(oSSService._OSSConfig.bucketName)
// {
// Prefix = relativePath,
// MaxKeys = 1000,
// Marker = nextMarker
// });
try // var jpgInfoList = objectListing.ObjectSummaries
{ // .Where(summary => summary.Key.EndsWith(".jpg"))
string nextMarker = null; // .Select(summary =>
do // {
{ // string fileName = summary.Key.Split('/').Last(); // 提取文件夹名
// 使用 prefix 模拟目录结构,设置 MaxKeys 和 NextMarker // return new
var objectListing = _ossClient.ListObjects(new ListObjectsRequest(aliConfig.bucketName) // {
{
Prefix = relativePath,
MaxKeys = 1000,
Marker = nextMarker
});
var jpgInfoList = objectListing.ObjectSummaries // Key = summary.Key,
.Where(summary => summary.Key.EndsWith(".jpg")) // InstanceId = Guid.TryParse(
.Select(summary => // fileName.Split('.')[0],
{ // out Guid instanceId)
string fileName = summary.Key.Split('/').Last(); // 提取文件夹名 // ? instanceId
return new // : Guid.Empty
{ // };
// })
// .Where(info => info.InstanceId != Guid.Empty)
// .ToList();
Key = summary.Key, // foreach (var jpg in jpgInfoList)
InstanceId = Guid.TryParse( // {
fileName.Split('.')[0], // var seriesId = _repository.Where<DicomInstance>(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault();
out Guid instanceId)
? instanceId
: Guid.Empty
};
})
.Where(info => info.InstanceId != Guid.Empty)
.ToList();
foreach (var jpg in jpgInfoList) // await _repository.BatchUpdateAsync<DicomSeries>(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key });
{ // }
var seriesId = _repository.Where<DicomInstance>(t => t.Id == jpg.InstanceId).Select(t => t.SeriesId).FirstOrDefault();
await _repository.BatchUpdateAsync<DicomSeries>(t => t.Id == seriesId, t => new DicomSeries() { ImageResizePath = "/" + jpg.Key }); // // 设置 NextMarker 以获取下一页的数据
} // nextMarker = objectListing.NextMarker;
// 设置 NextMarker 以获取下一页的数据 // } while (!string.IsNullOrEmpty(nextMarker));
nextMarker = objectListing.NextMarker; // }
// catch (Exception ex)
// {
// Console.WriteLine($"Error: {ex.Message}");
// }
} while (!string.IsNullOrEmpty(nextMarker)); // await _repository.SaveChangesAsync();
} // }
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
await _repository.SaveChangesAsync();
}
return ResponseOutput.Ok(); // return ResponseOutput.Ok();
} //}
#endregion #endregion