修改缓存key
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-09 17:06:37 +08:00
parent 3dbf329a31
commit 3730d955dd
3 changed files with 14 additions and 10 deletions

View File

@ -18,7 +18,7 @@ namespace IRaCIS.Core.Application.Helper
public static string TrialStudyUidDBLock(Guid trialId, string studyUid) => $"TrialStudyUidDBLock:{trialId}_{studyUid}";
public static string TrialTaskStudyUidDBLock(Guid trialId, Guid visiTaskId, string studyUid) => $"TrialTaskStudyUidDBLock:{trialId}_{visiTaskId}_{studyUid}";
public static string SystemAnonymization => $"SystemAnonymization";

View File

@ -326,7 +326,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
using (await @uploadLock.AcquireAsync())
{
if (_fusionCache.GetOrDefault<Guid>(CacheKeys.TrialStudyUidDBLock(incommand.TrialId, incommand.Study.StudyInstanceUid)) != Guid.Empty)
if (_fusionCache.GetOrDefault<Guid>(CacheKeys.TrialTaskStudyUidDBLock(incommand.TrialId, incommand.VisitTaskId, incommand.Study.StudyInstanceUid)) != Guid.Empty)
{
//---当前已有人正在上传和归档该检查!
return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_ArchiveInProgress"));
@ -334,7 +334,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
else
{
//在事务未完成前 防止前端重复提交
await _fusionCache.SetAsync(CacheKeys.TrialStudyUidDBLock(incommand.TrialId, incommand.Study.StudyInstanceUid), _userInfo.Id, TimeSpan.FromMinutes(3));
await _fusionCache.SetAsync(CacheKeys.TrialTaskStudyUidDBLock(incommand.TrialId, incommand.VisitTaskId, incommand.Study.StudyInstanceUid), _userInfo.Id, TimeSpan.FromMinutes(3));
}
}
@ -442,10 +442,6 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
await _taskInstanceRepository.AddAsync(isntance);
}
}
}
else
{
@ -535,7 +531,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
finally
{
await _fusionCache.RemoveAsync(CacheKeys.TrialStudyUidUploading(incommand.TrialId, incommand.Study.StudyInstanceUid));
await _fusionCache.RemoveAsync(CacheKeys.TrialTaskStudyUidDBLock(incommand.TrialId, incommand.VisitTaskId, incommand.Study.StudyInstanceUid));
}

View File

@ -103,9 +103,17 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}
[HttpGet]
public async Task<IResponseOutput> DicomUploadInProgress(Guid trialId, string studyInstanceUid)
public async Task<IResponseOutput> DicomUploadInProgress(Guid trialId, string studyInstanceUid,Guid? visitTaskId)
{
await _fusionCache.SetAsync(CacheKeys.TrialStudyUidUploading(trialId, studyInstanceUid), _userInfo.Id, TimeSpan.FromSeconds(15));
if(visitTaskId != null)
{
await _fusionCache.SetAsync(CacheKeys.TrialTaskStudyUidDBLock(trialId, visitTaskId.Value, studyInstanceUid), _userInfo.Id, TimeSpan.FromSeconds(15));
}
else
{
await _fusionCache.SetAsync(CacheKeys.TrialStudyUidUploading(trialId, studyInstanceUid), _userInfo.Id, TimeSpan.FromSeconds(15));
}
return ResponseOutput.Ok();