diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index e9d5c9588..82afeaeff 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -120,7 +120,7 @@ namespace IRaCIS.Core.Application.Service foreach (var user in userList) { - var lastLoginRegion = _userLogRepository.Where(t => t.ActionIdentityUserId == user.Id && (t.OptType == UserOptType.Login || t.OptType == UserOptType.LoginLockedAccount)).OrderByDescending(t => t.CreateTime).Select(t => t.IPRegion).FirstOrDefault()??string.Empty; + var lastLoginRegion = _userLogRepository.Where(t => t.ActionIdentityUserId == user.Id && (t.OptType == UserOptType.Login || t.OptType == UserOptType.LoginLockedAccount)).OrderByDescending(t => t.CreateTime).Select(t => t.IPRegion).FirstOrDefault() ?? string.Empty; await _identityUserRepository.BatchUpdateNoTrackingAsync(t => t.Id == user.Id, u => new Domain.Models.IdentityUser() { LastLoginIP = lastLoginRegion, UpdateUserId = user.UpdateUserId }); } @@ -385,6 +385,32 @@ namespace IRaCIS.Core.Application.Service return ResponseOutput.Ok(); } + [AllowAnonymous] + public async Task DealDicomFileSize([FromServices] IOSSService _oSSService, [FromServices] IRepository _dicomInstanceRepository) + { + var instanceList = _dicomInstanceRepository.Where(t => t.TrialId == Guid.Parse("01000000-AC13-0242-3AE4-08DC9B0495C6")) + .Where(t => t.FileSize == 0 || t.FileSize == null) + .Select(t => new { t.Path, t.Id }).ToList(); + + + foreach (var item in instanceList) + { + try + { + var fileSize = await _oSSService.GetObjectSizeAsync(item.Path); + await _dicomInstanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Id, u => new DicomInstance() { FileSize = fileSize }); + + } + catch (Exception ex) + { + Console.WriteLine(item.Path + " : " + ex.Message); + } + } + + return ResponseOutput.Ok(); + + } + /// /// 非dicom 临床数据 /// @@ -411,7 +437,7 @@ namespace IRaCIS.Core.Application.Service } catch (Exception ex) { - Console.WriteLine(item.Path+" : " + ex.Message); + Console.WriteLine(item.Path + " : " + ex.Message); }