85 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C#
		
	
	
| 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 UserDisable(Guid userId) => $"UserDisable:{userId}";
 | |
| 
 | |
|     public static string UserRoleDisable(Guid userRoleId) => $"UserRoleDisable:{userRoleId}";
 | |
| 
 | |
|     /// <summary>
 | |
|     /// 用户登录错误 限制登录
 | |
|     /// </summary>
 | |
|     /// <param name="userName"></param>
 | |
|     /// <returns></returns>
 | |
|     public static string UserLoginError(string userName) => $"login-failures:{userName}";
 | |
| 
 | |
|     /// <summary>
 | |
|     /// 跳过阅片
 | |
|     /// </summary>
 | |
|     /// <param name="userId"></param>
 | |
|     /// <returns></returns>
 | |
|     public static string SkipReadingCacheKey(Guid userId) => $"{userId}SkipReadingCache";
 | |
| 
 | |
| 
 | |
|     /// <summary>
 | |
|     /// 开始阅片时间
 | |
|     /// </summary>
 | |
|     /// <param name="userId"></param>
 | |
|     /// <returns></returns>
 | |
|     public static string StartReadingTimeKey(Guid userId) => $"{userId}StartReadingTime";
 | |
| 
 | |
|     /// <summary>
 | |
|     /// 开始休息时间
 | |
|     /// </summary>
 | |
|     /// <param name="userId"></param>
 | |
|     /// <returns></returns>
 | |
|     public static string StartRestTime(Guid userId) => $"{userId}StartRestTime";
 | |
| 
 | |
| 
 | |
|     public static string UserMFAVerifyPass(Guid userId) => $"UserMFAVerifyPass:{userId}";
 | |
| 
 | |
| }
 | |
| 
 | |
| public static class CacheHelper
 | |
| {
 | |
|     public static async Task<string?> GetTrialStatusAsync(Guid trialId, IRepository<Trial> _trialRepository)
 | |
|     {
 | |
|         var statusStr = await _trialRepository.Where(t => t.Id == trialId, ignoreQueryFilters: true).Select(t => t.TrialStatusStr).FirstOrDefaultAsync();
 | |
| 
 | |
|         return statusStr;
 | |
|     }
 | |
| 
 | |
|     public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository<SystemAnonymization> _systemAnonymizationRepository)
 | |
|     {
 | |
|         var list = await _systemAnonymizationRepository.Where(t => t.IsEnable).ToListAsync();
 | |
| 
 | |
|         return list;
 | |
|     }
 | |
| }
 |