Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
						commit
						ddcb0d2370
					
				| 
						 | 
					@ -138,6 +138,23 @@ namespace IRaCIS.Application.Services
 | 
				
			||||||
            return ResponseOutput.Ok();
 | 
					            return ResponseOutput.Ok();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        [HttpGet]
 | 
				
			||||||
 | 
					        public async Task<IResponseOutput>  InitSetUserNameAndPwd (Guid userId, string newUserName,string newPWd)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            await _userRepository.UpdatePartialFromQueryAsync(userId, u => new User()
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                UserName = newUserName,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                Password=newPWd,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                IsFirstAdd=false,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            },true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return ResponseOutput.Ok();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 重置密码为 默认密码
 | 
					        /// 重置密码为 默认密码
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1599,6 +1599,7 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
				
			||||||
                return ResponseOutput.NotOk("重传 只允许QA 设置!");
 | 
					                return ResponseOutput.NotOk("重传 只允许QA 设置!");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            //获取项目配置
 | 
					            //获取项目配置
 | 
				
			||||||
            var trialConfig = await _repository.Where<Trial>(t => t.Id == trialId).Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
 | 
					            var trialConfig = await _repository.Where<Trial>(t => t.Id == trialId).Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
 | 
				
			||||||
                .FirstOrDefaultAsync().IfNullThrowException();
 | 
					                .FirstOrDefaultAsync().IfNullThrowException();
 | 
				
			||||||
| 
						 | 
					@ -1610,6 +1611,11 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var qcChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qcChallengeId)).IfNullThrowException();
 | 
					            var qcChallenge = (await _qcChallengeRepository.FirstOrDefaultAsync(t => t.Id == qcChallengeId)).IfNullThrowException();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var sv = (await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == qcChallenge.SubjectVisitId)).IfNullThrowException();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            await VerifyIsCanQCAsync(sv);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (qcChallenge.ReuploadEnum != QCChanllengeReuploadEnum.CRCRequestReupload)
 | 
					            if (qcChallenge.ReuploadEnum != QCChanllengeReuploadEnum.CRCRequestReupload)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                throw new BusinessValidationFailedException("当前重传状态不为CRC申请重传,不允许设置同意重传");
 | 
					                throw new BusinessValidationFailedException("当前重传状态不为CRC申请重传,不允许设置同意重传");
 | 
				
			||||||
| 
						 | 
					@ -1641,9 +1647,7 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
				
			||||||
            if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _repository.AnyAsync<QCChallenge>(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
 | 
					            if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit && await _repository.AnyAsync<QCChallenge>(t => t.Id == qcChallengeId && t.SubjectVisit.AuditState == AuditStateEnum.InSecondaryQC))
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var sv = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == qcChallenge.SubjectVisitId);
 | 
					               
 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (sv == null) return Null404NotFound(sv);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // //一致性核查质疑状态
 | 
					                // //一致性核查质疑状态
 | 
				
			||||||
                // sv.CheckChallengeState = CheckChanllengeTypeEnum.None;
 | 
					                // sv.CheckChallengeState = CheckChanllengeTypeEnum.None;
 | 
				
			||||||
| 
						 | 
					@ -1654,7 +1658,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                sv.CurrentActionUserExpireTime = DateTime.Now.AddHours(1);
 | 
					                sv.CurrentActionUserExpireTime = DateTime.Now.AddHours(1);
 | 
				
			||||||
                sv.CurrentActionUserId = _userInfo.Id;
 | 
					                sv.CurrentActionUserId = _userInfo.Id;
 | 
				
			||||||
                BackgroundJob.Schedule<IObtainTaskAutoCancelJob>(t => t.CancelQCObtaion(qcChallenge.SubjectVisitId, DateTime.Now), TimeSpan.FromHours(1));
 | 
					
 | 
				
			||||||
 | 
					                //BackgroundJob.Schedule<IObtainTaskAutoCancelJob>(t => t.CancelQCObtaion(qcChallenge.SubjectVisitId, DateTime.Now), TimeSpan.FromHours(1));
 | 
				
			||||||
                sv.IsTake = true;
 | 
					                sv.IsTake = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                sv.PreliminaryAuditUserId = null;
 | 
					                sv.PreliminaryAuditUserId = null;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -837,7 +837,7 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
                                              角色: {sysUserInfo.UserTypeRole.UserTypeShortName}
 | 
					                                              角色: {sysUserInfo.UserTypeRole.UserTypeShortName}
 | 
				
			||||||
                                            </div>
 | 
					                                            </div>
 | 
				
			||||||
                                            <div>
 | 
					                                            <div>
 | 
				
			||||||
                                            {(sysUserInfo.IsFirstAdd ? "系统登录地址:" + joinCommand.BaseUrl : "首次登陆前,请通过该链接修改您的账户信息:" + joinCommand.RouteUrl)} 
 | 
					                                            {(sysUserInfo.IsFirstAdd==false ? "系统登录地址:" + joinCommand.BaseUrl : "首次登陆前,请通过该链接修改您的账户信息:" + joinCommand.RouteUrl)} 
 | 
				
			||||||
                                            </div>
 | 
					                                            </div>
 | 
				
			||||||
                                          </div>                                       
 | 
					                                          </div>                                       
 | 
				
			||||||
                                        </div>
 | 
					                                        </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,8 @@ using MailKit.Security;
 | 
				
			||||||
using Microsoft.AspNetCore.Authorization;
 | 
					using Microsoft.AspNetCore.Authorization;
 | 
				
			||||||
using Panda.DynamicWebApi.Attributes;
 | 
					using Panda.DynamicWebApi.Attributes;
 | 
				
			||||||
using IRaCIS.Core.Application.Helper;
 | 
					using IRaCIS.Core.Application.Helper;
 | 
				
			||||||
 | 
					using IRaCIS.Core.Application.Auth;
 | 
				
			||||||
 | 
					using IRaCIS.Application.Contracts;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace IRaCIS.Core.Application.Service
 | 
					namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -28,15 +30,17 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
        private readonly IRepository<TrialUser> _trialUserRepository;
 | 
					        private readonly IRepository<TrialUser> _trialUserRepository;
 | 
				
			||||||
        private readonly IRepository<TrialSiteUserSurvey> _trialSiteSurveyUserRepository;
 | 
					        private readonly IRepository<TrialSiteUserSurvey> _trialSiteSurveyUserRepository;
 | 
				
			||||||
        private readonly IRepository<TrialSiteUser> _trialSiteUserRepository;
 | 
					        private readonly IRepository<TrialSiteUser> _trialSiteUserRepository;
 | 
				
			||||||
 | 
					        private readonly ITokenService _tokenService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public TrialExternalUserService(IRepository<TrialExternalUser> trialExternalUseRepository, IRepository<User> userRepository, IRepository<TrialUser> trialUserRepository,
 | 
					        public TrialExternalUserService(IRepository<TrialExternalUser> trialExternalUseRepository, IRepository<User> userRepository, IRepository<TrialUser> trialUserRepository,
 | 
				
			||||||
            IRepository<TrialSiteUserSurvey> trialSiteSurveyUserRepository, IRepository<TrialSiteUser> trialSiteUserRepository)
 | 
					            IRepository<TrialSiteUserSurvey> trialSiteSurveyUserRepository, IRepository<TrialSiteUser> trialSiteUserRepository, ITokenService tokenService)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _trialExternalUseRepository = trialExternalUseRepository;
 | 
					            _trialExternalUseRepository = trialExternalUseRepository;
 | 
				
			||||||
            _userRepository = userRepository;
 | 
					            _userRepository = userRepository;
 | 
				
			||||||
            _trialUserRepository = trialUserRepository;
 | 
					            _trialUserRepository = trialUserRepository;
 | 
				
			||||||
            _trialSiteSurveyUserRepository = trialSiteSurveyUserRepository;
 | 
					            _trialSiteSurveyUserRepository = trialSiteSurveyUserRepository;
 | 
				
			||||||
            _trialSiteUserRepository = trialSiteUserRepository;
 | 
					            _trialSiteUserRepository = trialSiteUserRepository;
 | 
				
			||||||
 | 
					            _tokenService = tokenService;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -228,6 +232,14 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
                var sysUserInfo = (await _userRepository.Where(t => t.Id == userInfo.SystemUserId).Include(t=>t.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
 | 
					                var sysUserInfo = (await _userRepository.Where(t => t.Id == userInfo.SystemUserId).Include(t=>t.UserTypeRole).FirstOrDefaultAsync()).IfNullThrowException();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var token = _tokenService.GetToken(IRaCISClaims.Create(_mapper.Map<UserBasicInfo>(sysUserInfo)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var initUrl = $@" <a href='{sendEmail.RouteUrl + "?UserId=" + sysUserInfo.Id + "&Email="+ sysUserInfo.EMail+"&UserName="+ sysUserInfo.UserName + "&UserType=" + sysUserInfo.UserTypeRole.UserTypeShortName + "&access_token=" + token}' 
 | 
				
			||||||
 | 
					                             style='margin-left:60px;font-size:14px;text-decoration: none;display: inline-block;height: 40px;width: 140px;background: #00D1B2;color:#fff;border-radius: 5px;line-height: 40px;text-align: center;margin-bottom: 100px;'>
 | 
				
			||||||
 | 
					                             修改</a> ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                builder.HtmlBody = @$"<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
 | 
					                builder.HtmlBody = @$"<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
 | 
				
			||||||
                                      <div style='padding-left: 40px;background: #f6f6f6'>
 | 
					                                      <div style='padding-left: 40px;background: #f6f6f6'>
 | 
				
			||||||
                                        <div style='padding-top: 20px;padding-bottom:40px'>
 | 
					                                        <div style='padding-top: 20px;padding-bottom:40px'>
 | 
				
			||||||
| 
						 | 
					@ -255,7 +267,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
                                              角色: {sysUserInfo.UserTypeRole.UserTypeShortName}
 | 
					                                              角色: {sysUserInfo.UserTypeRole.UserTypeShortName}
 | 
				
			||||||
                                            </div>
 | 
					                                            </div>
 | 
				
			||||||
                                            <div>
 | 
					                                            <div>
 | 
				
			||||||
                                            {(sysUserInfo.IsFirstAdd ? "系统登录地址:" + sendEmail.BaseUrl : "首次登陆前,请通过该链接修改您的账户信息:" + sendEmail.RouteUrl)} 
 | 
					                                            {(sysUserInfo.IsFirstAdd==false ? "系统登录地址:" + sendEmail.BaseUrl : "首次登陆前,请通过该链接修改您的账户信息:" + initUrl)} 
 | 
				
			||||||
                                            </div>
 | 
					                                            </div>
 | 
				
			||||||
                                          </div>                                       
 | 
					                                          </div>                                       
 | 
				
			||||||
                                        </div>
 | 
					                                        </div>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue