From 805176c3eaa2ab3477001777927bc201c5ca5f7c Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 20 Mar 2025 09:35:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BC=96=E8=AF=91=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Helper/OSSService.cs | 2 +- IRaCIS.Core.Application/TestService.cs | 35 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) 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]