diff --git a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs index 42b4248f1..938115682 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DTO/DoctorModel.cs @@ -523,6 +523,8 @@ namespace IRaCIS.Application.Contracts { public string BlindName { get; set; } + public bool IsHaveAccount { get; set; } = false; + public string BlindNameCN { get; set; } = string.Empty; public List DoctorDicViewDtos = new List(); diff --git a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs index b42df0107..6cd828db9 100644 --- a/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs +++ b/IRaCIS.Core.Application/Service/Doctor/DoctorService.cs @@ -17,6 +17,7 @@ namespace IRaCIS.Core.Application.Service IRepository _doctorDictionaryRepository, IRepository _doctorSummarizeRepository, IRepository _enrollRepository, + IRepository _userRoleRepository, IRepository _hospitalRepository, IRepository _dictionaryRepository, IRepository _attachmentRepository, @@ -490,7 +491,7 @@ namespace IRaCIS.Core.Application.Service var doctorBasicInfo = (await _doctorRepository.Where(t => t.Id == doctorId) .ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync()).IfNullThrowException(); - + doctorBasicInfo.IsHaveAccount =await _userRoleRepository.AnyAsync(x => x.DoctorId == doctorId); return doctorBasicInfo; diff --git a/IRaCIS.Core.Application/Service/Management/UserService.cs b/IRaCIS.Core.Application/Service/Management/UserService.cs index 002c488ad..393c9f8a8 100644 --- a/IRaCIS.Core.Application/Service/Management/UserService.cs +++ b/IRaCIS.Core.Application/Service/Management/UserService.cs @@ -37,6 +37,7 @@ namespace IRaCIS.Core.Application.Service IOptionsMonitor _verifyConfig, IOptionsMonitor systemEmailConfig, IRepository _identityUserRepository, + IRepository _doctorRepository, ISearcher _searcher, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer, IFusionCache _fusionCache) : BaseService, IUserService { @@ -182,6 +183,13 @@ namespace IRaCIS.Core.Application.Service await VerifyUserEmailAsync(_userInfo.IdentityUserId, newEmail); + // 修改用户邮箱的时候 需要修改医生表的邮箱 + var oldEmail =await _identityUserRepository.Where(t => t.Id == _userInfo.IdentityUserId).Select(t => t.EMail).FirstOrDefaultAsync(); + + await _doctorRepository.UpdatePartialFromQueryAsync(x=>x.EMail== oldEmail, u => new Doctor() + { + EMail = newEmail + }); await _identityUserRepository.UpdatePartialFromQueryAsync(_userInfo.IdentityUserId, u => new IdentityUser() {