/// <summary> /// 创建超级管理员用户 /// </summary> /// <param name="userDTO"></param> /// <returns></returns> public OperationResult CreateUser(UserDTO userDTO) { OperationResult result = new OperationResult(); var user = _mapper.Map <User.Domain.AggregateUser.Entity.User>(userDTO); var emailTemplateUrl = ConfigurationManager.AppSetting("GatewayHost") + "/emailtemplates?type=1"; EmailTemplateDTO emailTemplate = new EmailTemplateDTO(); try { emailTemplate = new HttpClientUtility().Get <EmailTemplateDTO>(emailTemplateUrl); if (emailTemplate != null && emailTemplate.Contents != null) { var content = emailTemplate.Contents.FirstOrDefault(x => x.LangId == userDTO.LangId); emailTemplate.Content = content != null ? content.Value : null; } } catch (Exception ex) { string message = "无法激活邮件模板:" + emailTemplateUrl + "错误详情:" + ex.Message; throw new RequestDataExcepiton(message); } if (emailTemplate == null || string.IsNullOrWhiteSpace(emailTemplate.Content)) { result.Success = false; result.Messages.Add("无法找到激活邮件模板,无法完成注册"); return(result); } var emailTemplateDO = _mapper.Map <EmailTemplate>(emailTemplate); result = _userDomainService.CreateUser(user, emailTemplateDO); if (result.Success) { string activeUrl = ConfigurationManager.AppSetting("ActiveUrl") + "?id=" + user.UserActiveInfo.Id; string supportEamil = ConfigurationManager.AppSetting("FromEmail"); _eventBus.PublishAsync <UserWaitActiveEvent>(new UserWaitActiveEvent() { UserId = user.Id, EmailAddress = user.EmailAddress, EmailContent = string.Format(emailTemplate.Content, user.GetUserName(), activeUrl, supportEamil) }); } return(result); }