修改代码
parent
466ac5e03e
commit
bca9993e68
|
@ -1492,6 +1492,13 @@
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewLesionAssessment(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewLesionAssessment(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewLesionIRECSITEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||||
|
<summary>
|
||||||
|
获取新病灶评估
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetIRECSITTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetIRECSITTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||||
|
@ -1501,6 +1508,13 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||||
|
<summary>
|
||||||
|
获取新病灶评估
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.PCWG3CalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.PCWG3CalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
删除病灶获取起始病灶序号
|
删除病灶获取起始病灶序号
|
||||||
|
|
|
@ -8,6 +8,9 @@ using Panda.DynamicWebApi.Attributes;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using Microsoft.Extensions.Caching.Memory;
|
using Microsoft.Extensions.Caching.Memory;
|
||||||
|
using IRaCIS.Core.Infra.Common.Cache;
|
||||||
|
using Microsoft.Identity.Client;
|
||||||
|
using static IRaCIS.Core.Domain.Share.StaticData;
|
||||||
|
|
||||||
namespace IRaCIS.Application.Services
|
namespace IRaCIS.Application.Services
|
||||||
{
|
{
|
||||||
|
@ -613,6 +616,38 @@ namespace IRaCIS.Application.Services
|
||||||
[NonDynamicMethod]
|
[NonDynamicMethod]
|
||||||
public async Task<IResponseOutput<LoginReturnDTO>> Login(string userName, string password)
|
public async Task<IResponseOutput<LoginReturnDTO>> Login(string userName, string password)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
//const string cachePrefix = "login-failures:";
|
||||||
|
//const int maxFailures = 3;
|
||||||
|
//const int lockoutMinutes = 3;
|
||||||
|
|
||||||
|
//// 生成缓存键
|
||||||
|
//string cacheKey = $"{cachePrefix}{userName}";
|
||||||
|
|
||||||
|
//// 从缓存中获取登录失败次数
|
||||||
|
//int? failCount = _cache.Get<int?>(cacheKey);
|
||||||
|
|
||||||
|
|
||||||
|
//if (failCount != null)
|
||||||
|
//{
|
||||||
|
|
||||||
|
// _cache.Set(cacheKey + ":locked", true, TimeSpan.FromMinutes(lockoutMinutes));
|
||||||
|
|
||||||
|
// if (failCount >= maxFailures)
|
||||||
|
// {
|
||||||
|
// throw new BusinessValidationFailedException($"账号已被锁定,请等待 {lockoutMinutes} 分钟后再试。");
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
//if (failCount >= maxFailures)
|
||||||
|
//{
|
||||||
|
// // 如果登录失败次数达到了 3 次,则锁定用户
|
||||||
|
// _cache.Set(cacheKey + ":locked", true, TimeSpan.FromMinutes(lockoutMinutes));
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var userLoginReturnModel = new LoginReturnDTO();
|
var userLoginReturnModel = new LoginReturnDTO();
|
||||||
|
|
||||||
|
|
||||||
|
@ -620,21 +655,30 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
if (loginUser == null)
|
if (loginUser == null)
|
||||||
{
|
{
|
||||||
//此处下面 代码 为了支持医生也能登录 而且前端不加选择到底是管理用户 还是医生用户 奇怪的需求 无法理解
|
|
||||||
|
|
||||||
var loginDoctor = await _doctorRepository.Where(u => u.Phone == userName && u.Password == password).ProjectTo<UserBasicInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
|
#region 屏蔽代码,现在没用到
|
||||||
|
////此处下面 代码 为了支持医生也能登录 而且前端不加选择到底是管理用户 还是医生用户 奇怪的需求 无法理解
|
||||||
|
|
||||||
if (loginDoctor == null)
|
//var loginDoctor = await _doctorRepository.Where(u => u.Phone == userName && u.Password == password).ProjectTo<UserBasicInfo>(_mapper.ConfigurationProvider).FirstOrDefaultAsync();
|
||||||
{
|
|
||||||
return ResponseOutput.NotOk(_localizer["User_CheckNameOrPw"], new LoginReturnDTO());
|
|
||||||
|
|
||||||
}
|
//if (loginDoctor == null)
|
||||||
|
//{
|
||||||
userLoginReturnModel.BasicInfo = loginDoctor;
|
// return ResponseOutput.NotOk(_localizer["User_CheckNameOrPw"], new LoginReturnDTO());
|
||||||
|
//}
|
||||||
|
//userLoginReturnModel.BasicInfo = loginDoctor;
|
||||||
|
|
||||||
//登录 清除缓存
|
//登录 清除缓存
|
||||||
_cache.Remove(userLoginReturnModel.BasicInfo.Id.ToString());
|
//_cache.Remove(userLoginReturnModel.BasicInfo.Id.ToString());
|
||||||
return ResponseOutput.Ok(userLoginReturnModel);
|
//return ResponseOutput.Ok(userLoginReturnModel);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return ResponseOutput.NotOk(_localizer["User_CheckNameOrPw"], new LoginReturnDTO());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -652,5 +696,35 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//private bool loginIsLocked(string userName)
|
||||||
|
//{
|
||||||
|
|
||||||
|
// //if (failCount == null)
|
||||||
|
// //{
|
||||||
|
// // failCount = 0;
|
||||||
|
// //}
|
||||||
|
// //else
|
||||||
|
// //{
|
||||||
|
// // failCount++;
|
||||||
|
// //}
|
||||||
|
|
||||||
|
// //// 更新缓存中的登录失败次数
|
||||||
|
// //_cache.Set(cacheKey, failCount, TimeSpan.FromMinutes(lockoutMinutes));
|
||||||
|
|
||||||
|
// //if (failCount >= maxFailures)
|
||||||
|
// //{
|
||||||
|
// // // 如果登录失败次数达到了 3 次,则锁定用户
|
||||||
|
// // _cache.Set(cacheKey + ":locked", true, TimeSpan.FromMinutes(lockoutMinutes));
|
||||||
|
// //}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// //return isLocked;
|
||||||
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,9 +18,9 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public class SubjectCriteriaEvaluationVisitFilter : Entity, IAuditUpdate, IAuditAdd
|
public class SubjectCriteriaEvaluationVisitFilter : Entity, IAuditUpdate, IAuditAdd
|
||||||
{
|
{
|
||||||
|
|
||||||
[JsonIgnore]
|
//[JsonIgnore]
|
||||||
|
|
||||||
public List<VisitTask> SubjectCriterionTaskList { get; set; }
|
//public List<VisitTask> SubjectCriterionTaskList { get; set; }
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
[ForeignKey("TrialReadingCriterionId")]
|
[ForeignKey("TrialReadingCriterionId")]
|
||||||
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
|
||||||
|
|
|
@ -36,18 +36,18 @@ namespace IRaCIS.Core.Infra.EFCore.EntityConfigration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SubjectCriteriaEvaluationVisitFilterConfigration : IEntityTypeConfiguration<SubjectCriteriaEvaluationVisitFilter>
|
//public class SubjectCriteriaEvaluationVisitFilterConfigration : IEntityTypeConfiguration<SubjectCriteriaEvaluationVisitFilter>
|
||||||
{
|
//{
|
||||||
|
|
||||||
|
|
||||||
public void Configure(EntityTypeBuilder<SubjectCriteriaEvaluationVisitFilter> builder)
|
// public void Configure(EntityTypeBuilder<SubjectCriteriaEvaluationVisitFilter> builder)
|
||||||
{
|
// {
|
||||||
builder
|
// builder
|
||||||
.HasMany(s => s.SubjectCriterionTaskList)
|
// .HasMany(s => s.SubjectCriterionTaskList)
|
||||||
.WithOne(c => c.SubjectCriteriaEvaluationVisitFilter)
|
// .WithOne(c => c.SubjectCriteriaEvaluationVisitFilter)
|
||||||
.HasForeignKey(s => new { s.SubjectId, s.TrialReadingCriterionId })
|
// .HasForeignKey(s => new { s.SubjectId, s.TrialReadingCriterionId })
|
||||||
.HasPrincipalKey(c => new { c.SubjectId, c.TrialReadingCriterionId });
|
// .HasPrincipalKey(c => new { c.SubjectId, c.TrialReadingCriterionId });
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue