diff --git a/IRaCIS.Core.Application/Helper/OSSService.cs b/IRaCIS.Core.Application/Helper/OSSService.cs index 78944ddb7..742442a4b 100644 --- a/IRaCIS.Core.Application/Helper/OSSService.cs +++ b/IRaCIS.Core.Application/Helper/OSSService.cs @@ -158,7 +158,7 @@ public interface IOSSService public Task MoveObject(string sourcePath, string destPath, bool overwrite = true); - public long GetObjectSizeAsync(string sourcePath); + public Task GetObjectSizeAsync(string sourcePath); } diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 534d32aaf..f26f78bdc 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -205,6 +205,41 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(); } + /// + /// 非dicom 临床数据 + /// + /// + /// + /// + [AllowAnonymous] + public async Task DealTialFileSie([FromServices] IOSSService _oSSService, + [FromServices] IRepository _noneDicomStudyFileRepository, + [FromServices] IRepository _readingClinicalDataPDFRepository) + { + var noneDicomList = _noneDicomStudyFileRepository.Where(t => t.FileSize == 0 || t.FileSize == null).Select(t => new { t.Path, t.Id }).ToList(); + + foreach (var item in noneDicomList) + { + var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + + await _noneDicomStudyFileRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new NoneDicomStudyFile() { FileSize = fileSize }); + + } + + var clinicalDataPDFList = _readingClinicalDataPDFRepository.Where(t => t.Size == 0).Select(t => new { t.Path, t.Id }).ToList(); + + + foreach (var item in clinicalDataPDFList) + { + var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + + await _readingClinicalDataPDFRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new ReadingClinicalDataPDF() { Size = (int)fileSize }); + } + + + return ResponseOutput.Ok(); + } + [LowerCamelCaseJson]