diff --git a/IRaCIS.Core.API/appsettings.Event_IRC.json b/IRaCIS.Core.API/appsettings.Event_IRC.json index 077f2e820..2e9f86342 100644 --- a/IRaCIS.Core.API/appsettings.Event_IRC.json +++ b/IRaCIS.Core.API/appsettings.Event_IRC.json @@ -42,7 +42,11 @@ "LoginMaxFailCount": 5, "LoginFailLockMinutes": 30, - "AutoLoginOutMinutes": 60 + "AutoLoginOutMinutes": 60, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { "Port": 465, diff --git a/IRaCIS.Core.API/appsettings.Prod_IRC.json b/IRaCIS.Core.API/appsettings.Prod_IRC.json index 2fe6807e3..02e0a3b74 100644 --- a/IRaCIS.Core.API/appsettings.Prod_IRC.json +++ b/IRaCIS.Core.API/appsettings.Prod_IRC.json @@ -44,7 +44,11 @@ "AutoLoginOutMinutes": 360, - "OpenLoginMFA": false + "OpenLoginMFA": false, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, diff --git a/IRaCIS.Core.API/appsettings.Test_IRC.json b/IRaCIS.Core.API/appsettings.Test_IRC.json index 1f4e89bd2..28ea34260 100644 --- a/IRaCIS.Core.API/appsettings.Test_IRC.json +++ b/IRaCIS.Core.API/appsettings.Test_IRC.json @@ -60,7 +60,11 @@ "AutoLoginOutMinutes": 1, - "OpenLoginMFA": false + "OpenLoginMFA": false, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.API/appsettings.US_Prod_IRC.json b/IRaCIS.Core.API/appsettings.US_Prod_IRC.json index ca614f2ac..8957701a9 100644 --- a/IRaCIS.Core.API/appsettings.US_Prod_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Prod_IRC.json @@ -58,7 +58,11 @@ "LoginMaxFailCount": 5, "LoginFailLockMinutes": 30, - "AutoLoginOutMinutes": 60 + "AutoLoginOutMinutes": 60, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.API/appsettings.US_Test_IRC.json b/IRaCIS.Core.API/appsettings.US_Test_IRC.json index 19d4dbe15..815a762e3 100644 --- a/IRaCIS.Core.API/appsettings.US_Test_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Test_IRC.json @@ -64,7 +64,11 @@ "LoginMaxFailCount": 5, "LoginFailLockMinutes": 30, - "AutoLoginOutMinutes": 60 + "AutoLoginOutMinutes": 60, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.API/appsettings.US_Uat_IRC.json b/IRaCIS.Core.API/appsettings.US_Uat_IRC.json index 8ed58013e..d3f3950c8 100644 --- a/IRaCIS.Core.API/appsettings.US_Uat_IRC.json +++ b/IRaCIS.Core.API/appsettings.US_Uat_IRC.json @@ -68,7 +68,11 @@ "LoginMaxFailCount": 5, "LoginFailLockMinutes": 30, - "AutoLoginOutMinutes": 60 + "AutoLoginOutMinutes": 60, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.API/appsettings.Uat_IRC.json b/IRaCIS.Core.API/appsettings.Uat_IRC.json index ddc5ad7ad..77945da7d 100644 --- a/IRaCIS.Core.API/appsettings.Uat_IRC.json +++ b/IRaCIS.Core.API/appsettings.Uat_IRC.json @@ -51,7 +51,11 @@ "LoginFailLockMinutes": 30, "AutoLoginOutMinutes": 60, - "OpenLoginMFA": false + "OpenLoginMFA": false, + + "ContinuousReadingTimeMin": 120, + + "ReadingRestTimeMin": 10 }, "SystemEmailSendConfig": { diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 92238e196..96aaf7e28 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -21,6 +21,7 @@ using IRaCIS.Core.Application.Service.ReadingCalculate.Interface; using AutoMapper.QueryableExtensions; using IRaCIS.Application.Contracts; using IRaCIS.Core.Domain.Models; +using Microsoft.Extensions.Options; using static Microsoft.EntityFrameworkCore.DbLoggerCategory; namespace IRaCIS.Application.Services @@ -43,6 +44,7 @@ namespace IRaCIS.Application.Services private readonly IReadingCalculateService _readingCalculateService; private readonly IRepository _subjectVisitRepository; private readonly IRepository _subjectRepository; + private readonly IOptionsMonitor _verifyConfig; private readonly IRepository _readingGlobalTaskInfoRepository; private readonly IRepository _readingCriterionPageRepository; private readonly IRepository _readingTaskRelationRepository; @@ -85,6 +87,7 @@ namespace IRaCIS.Application.Services IReadingCalculateService readingCalculateService, IRepository subjectVisitRepository, IRepository subjectRepository, + IOptionsMonitor verifyConfig, IRepository readingGlobalTaskInfoRepository, IRepository readingCriterionPageRepository, IRepository readingTaskRelationRepository, @@ -126,6 +129,7 @@ namespace IRaCIS.Application.Services this._readingCalculateService = readingCalculateService; this._subjectVisitRepository = subjectVisitRepository; this._subjectRepository = subjectRepository; + this._verifyConfig = verifyConfig; this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository; this._readingCriterionPageRepository = readingCriterionPageRepository; this._readingTaskRelationRepository = readingTaskRelationRepository; @@ -2999,8 +3003,8 @@ namespace IRaCIS.Application.Services var startReadingTimeKey = _userInfo.Id.ToString() + "StartReadingTime"; var startRestTimeKey = _userInfo.Id.ToString() + "StartRestTime"; - int readingMinute = 120; // 为60整数 - int restMinute = 10; // + int readingMinute = _verifyConfig.CurrentValue.ContinuousReadingTimeMin; // 为60整数 + int restMinute = _verifyConfig.CurrentValue.ReadingRestTimeMin; // var startReadingTime = _provider.Get(startReadingTimeKey).Value; var startRestTime = _provider.Get(startRestTimeKey).Value; if (startReadingTime == null && startRestTime == null) @@ -3013,7 +3017,7 @@ namespace IRaCIS.Application.Services int timespanMin = (DateTime.Now - cacheStartRestTime).Minutes; if (timespanMin <= restMinute) { - throw new BusinessValidationFailedException(_localizer["ReadingImage_NeedRest", readingMinute / 60m, restMinute]); + throw new BusinessValidationFailedException(_localizer["ReadingImage_NeedRest", 2, 10]); } else { diff --git a/IRaCIS.Core.Domain/_Config/_AppSettings.cs b/IRaCIS.Core.Domain/_Config/_AppSettings.cs index 1361360fb..80aed90e8 100644 --- a/IRaCIS.Core.Domain/_Config/_AppSettings.cs +++ b/IRaCIS.Core.Domain/_Config/_AppSettings.cs @@ -24,6 +24,17 @@ namespace IRaCIS.Core.Domain.Share public int AutoLoginOutMinutes { get; set; } public bool OpenLoginMFA { get; set; } + + /// + /// 连续阅片时间 (min) + /// + public int ContinuousReadingTimeMin { get; set; } + + /// + /// 休息时间 (min) + /// + public int ReadingRestTimeMin { get; set; } + } public class SystemEmailSendConfig