namespace IRaCIS.Core.Application.Helper { public static class CacheKeys { //项目缓存 public static string Trial(string trialIdStr) => $"TrialId:{trialIdStr}"; //检查编号递增锁 public static string TrialStudyMaxCode(Guid trialId) => $"TrialStudyMaxCode:{trialId}"; public static string TrialStudyUidUploading(Guid trialId, string studyUid) => $"TrialStudyUid:{trialId}_{studyUid}"; //CRC上传影像提交锁key public static string TrialStudyUidDBLock(Guid trialId, string studyUid) => $"TrialStudyUidDBLock:{trialId}_{studyUid}"; public static string TrialTaskStudyUidUploading(Guid trialId, Guid visiTaskId, string studyUid) => $"TrialStudyUid:{trialId}_{visiTaskId}_{studyUid}"; //影像后处理上传提交锁key public static string TrialTaskStudyUidDBLock(Guid trialId, Guid visiTaskId, string studyUid) => $"TrialTaskStudyUidDBLock:{trialId}_{visiTaskId}_{studyUid}"; //系统匿名化 public static string SystemAnonymization => $"SystemAnonymization"; //前端国际化 public static string FrontInternational => $"FrontInternationalList"; //登录挤账号 public static string UserToken(Guid userId) => $"UserToken:{userId}"; //超时没请求接口自动退出 public static string UserAutoLoginOut(Guid userId) => $"UserAutoLoginOut:{userId}"; /// /// 跳过阅片 /// /// /// public static string SkipReadingCacheKey(Guid userId) => $"{userId}SkipReadingCache"; /// /// 开始阅片时间 /// /// /// public static string StartReadingTimeKey(Guid userId) => $"{userId}StartReadingTime"; /// /// 开始休息时间 /// /// /// public static string StartRestTime(Guid userId) => $"{userId}StartRestTime"; } public static class CacheHelper { public static async Task GetTrialStatusAsync(Guid trialId, IRepository _trialRepository) { var statusStr = await _trialRepository.Where(t => t.Id == trialId, ignoreQueryFilters: true).Select(t => t.TrialStatusStr).FirstOrDefaultAsync(); return statusStr; } public static async Task> GetSystemAnonymizationListAsync(IRepository _systemAnonymizationRepository) { var list = await _systemAnonymizationRepository.Where(t => t.IsEnable).ToListAsync(); return list; } } }