Compare commits
No commits in common. "ed014073821fbb86fde103e6f997ba0bd4d3caaa" and "127ae75b5b7cf1d548b1bffaae2e1a5e286867da" have entirely different histories.
ed01407382
...
127ae75b5b
|
|
@ -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 列表查询参数
|
||||||
|
|
|
||||||
|
|
@ -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; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue