From 2ffb24d630fc93f314c076090959f0e2faff45f2 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 20 Mar 2025 13:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E6=8A=A4oss=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/Helper/OSSService.cs | 10 +++++-- IRaCIS.Core.Application/TestService.cs | 28 ++++++++++++++++---- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Helper/OSSService.cs b/IRaCIS.Core.Application/Helper/OSSService.cs index 2e56a25fb..b2cc7fdd1 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 Task GetObjectSizeAsync(string sourcePath); + public Task GetObjectSizeAsync(string sourcePath); } @@ -1000,9 +1000,15 @@ public class OSSService : IOSSService } } + private bool isFirstCall = true; public async Task GetObjectSizeAsync(string sourcePath) { - GetObjectStoreTempToken(); + if (isFirstCall) + { + GetObjectStoreTempToken(); + isFirstCall = false; + } + var objectkey = sourcePath.Trim('/'); diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index f26f78bdc..29327555a 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -218,22 +218,40 @@ namespace IRaCIS.Core.Application.Service { var noneDicomList = _noneDicomStudyFileRepository.Where(t => t.FileSize == 0 || t.FileSize == null).Select(t => new { t.Path, t.Id }).ToList(); + var clinicalDataPDFList = _readingClinicalDataPDFRepository.Where(t => t.Size == 0).Select(t => new { t.Path, t.Id }).ToList(); + + foreach (var item in noneDicomList) { - var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + try + { + var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + await _noneDicomStudyFileRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new NoneDicomStudyFile() { FileSize = fileSize }); + + } + catch (Exception) + { + + } - 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); + try + { + var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + + await _readingClinicalDataPDFRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new ReadingClinicalDataPDF() { Size = (int)fileSize }); + } + catch (Exception) + { + + } - await _readingClinicalDataPDFRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new ReadingClinicalDataPDF() { Size = (int)fileSize }); }