diff --git a/IRaCIS.Core.API/Controllers/ExtraController.cs b/IRaCIS.Core.API/Controllers/ExtraController.cs index 9f6d3bcb2..7a3b3504d 100644 --- a/IRaCIS.Core.API/Controllers/ExtraController.cs +++ b/IRaCIS.Core.API/Controllers/ExtraController.cs @@ -28,6 +28,8 @@ using Aliyun.Acs.Core.Auth.Sts; using Aliyun.Acs.Core; using IRaCIS.Core.Application.Helper; using Microsoft.Extensions.Options; +using IRaCIS.Core.Application.Contracts; +using LoginReturnDTO = IRaCIS.Application.Contracts.LoginReturnDTO; namespace IRaCIS.Api.Controllers { @@ -54,6 +56,7 @@ namespace IRaCIS.Api.Controllers public async Task> GetDoctorDetail([FromServices] IAttachmentService attachmentService, [FromServices] IDoctorService _doctorService, [FromServices] IEducationService _educationService, [FromServices] ITrialExperienceService _trialExperienceService, + [FromServices] IResearchPublicationService _researchPublicationService, [FromServices] IVacationService _vacationService, Guid doctorId) { var education = await _educationService.GetEducation(doctorId); @@ -94,7 +97,10 @@ namespace IRaCIS.Api.Controllers [HttpPost, Route("user/login")] [AllowAnonymous] public async Task> Login(UserLoginDTO loginUser, [FromServices] IEasyCachingProvider provider, [FromServices] IUserService _userService, - [FromServices] ITokenService _tokenService, [FromServices] IConfiguration configuration) + [FromServices] ITokenService _tokenService, + + [FromServices] IReadingImageTaskService readingImageTaskService, + [FromServices] IConfiguration configuration) { @@ -180,8 +186,9 @@ namespace IRaCIS.Api.Controllers var userId = returnModel.Data.BasicInfo.Id.ToString(); //provider.Set(userId, userId, TimeSpan.FromMinutes(AppSettings.LoginExpiredTimeSpan)); - - await provider.SetAsync(userId.ToString(), returnModel.Data.JWTStr, TimeSpan.FromDays(7)); + // 验证阅片休息时间 + await readingImageTaskService.ResetReadingRestTime(returnModel.Data.BasicInfo.Id); + await provider.SetAsync(userId.ToString(), returnModel.Data.JWTStr, TimeSpan.FromDays(7)); return returnModel; } diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index 5b5c02b0c..008e1add6 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -29,7 +29,7 @@ - + 系统用户登录接口[New] diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 68d722ec1..5e287a9fd 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -13405,7 +13405,7 @@ - + 重置阅片时间 登录和解锁调用 diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index 4424d1057..259080a76 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -694,9 +694,7 @@ namespace IRaCIS.Application.Services // 登录 清除缓存 _cache.Remove(userLoginReturnModel.BasicInfo.Id.ToString()); - // 阅片时间缓存 - - await _readingImageTaskService.ResetReadingRestTime(); + return ResponseOutput.Ok(userLoginReturnModel); } diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs index e7008ffa2..5ad43cb66 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs @@ -37,7 +37,7 @@ namespace IRaCIS.Core.Application.Contracts Task> GetManualList(GetManualListInDto inDto); - Task ResetReadingRestTime(); + Task ResetReadingRestTime(Guid? userId); } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index d32ffe780..51774b859 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -2624,18 +2624,23 @@ namespace IRaCIS.Application.Services /// /// [HttpPost] - public async Task ResetReadingRestTime() + public async Task ResetReadingRestTime(Guid? userID) { - var startReadingTimeKey = _userInfo.Id.ToString() + "StartReadingTime"; - var startRestTimeKey = _userInfo.Id.ToString() + "StartRestTime"; + if(userID == null) + { + userID = _userInfo.Id; + } + + var startReadingTimeKey = userID.ToString() + "StartReadingTime"; + var startRestTimeKey = userID.ToString() + "StartRestTime"; //int readingMinute = 120; // 为60整数 int restMinute = 10; // var startReadingTime = _provider.Get(startReadingTimeKey).Value; var startRestTime = _provider.Get(startReadingTimeKey).Value; - if (startRestTimeKey != null) + if (startRestTime != null) { - var cacheStartRestTime = DateTime.Parse(startRestTimeKey!.ToString()); + var cacheStartRestTime = DateTime.Parse(startRestTime!.ToString()); int timespanMin = (DateTime.Now - cacheStartRestTime).Minutes; if (timespanMin > restMinute) {