修改缓存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 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"; public static string SystemAnonymization => $"SystemAnonymization";

View File

@ -326,7 +326,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
using (await @uploadLock.AcquireAsync()) 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")); return ResponseOutput.NotOk(StaticData.International("UploadDownLoad_ArchiveInProgress"));
@ -334,7 +334,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
else 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); await _taskInstanceRepository.AddAsync(isntance);
} }
} }
} }
else else
{ {
@ -535,7 +531,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
} }
finally 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,10 +103,18 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
} }
[HttpGet] [HttpGet]
public async Task<IResponseOutput> DicomUploadInProgress(Guid trialId, string studyInstanceUid) public async Task<IResponseOutput> DicomUploadInProgress(Guid trialId, string studyInstanceUid,Guid? visitTaskId)
{
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)); await _fusionCache.SetAsync(CacheKeys.TrialStudyUidUploading(trialId, studyInstanceUid), _userInfo.Id, TimeSpan.FromSeconds(15));
}
return ResponseOutput.Ok(); return ResponseOutput.Ok();
} }