导入人员发送邮件
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
ba2965e295
commit
918362e854
|
@ -32,7 +32,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
Task SiteSurveyUserJoinEmail(Guid trialId, Guid userId, string baseUrl, string rootUrl);
|
||||
|
||||
Task ExternalUserJoinEmail(Guid trialId, Guid userId,string userTypes, string baseUrl, string rootUrl);
|
||||
Task ExternalUserJoinEmail(Guid trialId, Guid userId, string userTypes, string baseUrl, string rootUrl);
|
||||
|
||||
Task<(Guid identityUserId, Guid userRoleId)> DoctorJoinTrialEmail(Guid trialId, Guid doctorId, string baseUrl, string rootUrl);
|
||||
|
||||
|
@ -434,8 +434,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
var trialInfo = (await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId)).IfNullThrowException();
|
||||
|
||||
var sysUserInfo = (await _identityUserRepository.Where(t => t.Id == userId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
|
||||
var messageToSend = new MimeMessage();
|
||||
|
||||
var messageToSend = new MimeMessage();
|
||||
//发件地址
|
||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||
//收件地址
|
||||
|
@ -453,7 +453,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
||||
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&UserName=" + sysUserInfo.UserName + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
|
||||
var redirectUrl = $"{domain}/api/User/UserRedirect?url={System.Web.HttpUtility.UrlEncode(routeUrl)}";
|
||||
|
||||
|
@ -471,7 +471,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
trialInfo.ResearchProgramNo,
|
||||
trialInfo.TrialCode,
|
||||
sysUserInfo.UserName,
|
||||
userTypes,
|
||||
userTypes,
|
||||
sysUserInfo.IsFirstAdd ? redirectUrl : baseUrl
|
||||
);
|
||||
|
||||
|
@ -512,7 +512,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
await _identityUserRepository.BatchUpdateNoTrackingAsync(t => t.Id == sysUserInfo.Id, u => new Domain.Models.IdentityUser() { EmailToken = token });
|
||||
}
|
||||
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&UserName=" + sysUserInfo.UserName + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
|
||||
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
||||
|
||||
|
@ -623,7 +623,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
await _identityUserRepository.BatchUpdateNoTrackingAsync(t => t.Id == sysUserInfo.Id, u => new Domain.Models.IdentityUser() { EmailToken = token });
|
||||
}
|
||||
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&UserName=" + sysUserInfo.UserName + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
var routeUrl = rootUrl + "?UserId=" + sysUserInfo.Id + "&Email=" + sysUserInfo.EMail + "&lang=" + (_userInfo.IsEn_Us ? "en" : "zh") + "&access_token=" + token;
|
||||
|
||||
var domain = baseUrl.Substring(0, baseUrl.IndexOf("/login"));
|
||||
|
||||
|
|
|
@ -166,6 +166,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<UserCommand, UserRole>();
|
||||
|
||||
|
||||
CreateMap<TrialExternalUser, IdentityUser>();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@ using StackExchange.Redis;
|
|||
using Panda.DynamicWebApi.Attributes;
|
||||
using IdentityModel;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
|
@ -1078,7 +1080,6 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
public async Task ImportGenerateAccountAndJoinTrialAsync(Guid trialId, string baseUrl, string routeUrl, List<SiteSurveyUserImportDto> list)
|
||||
{
|
||||
|
||||
|
||||
var trialType = _trialRepository.Where(t => t.Id == trialId).Select(t => t.TrialType).FirstOrDefault();
|
||||
|
||||
|
||||
|
@ -1088,55 +1089,36 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
var first = addUserRoleList.FirstOrDefault();
|
||||
|
||||
//找下系统中是否存在该用户类型的 并且邮箱 或者手机的账户
|
||||
var sysUserInfo = await _identityUserRepository.Where(t => t.EMail == item.Key, true).Include(t => t.UserRoleList).FirstOrDefaultAsync();
|
||||
var userEmail = item.Key;
|
||||
|
||||
if (sysUserInfo == null)
|
||||
var userTypeIdList = item.Select(t => t.UserTypeId).ToList();
|
||||
|
||||
var existSysUser = await _identityUserRepository.Where(t => t.EMail == userEmail, true).Include(t => t.UserRoleList).FirstOrDefaultAsync();
|
||||
|
||||
if (existSysUser != null)
|
||||
{
|
||||
var @lock = _distributedLockProvider.CreateLock($"UserCode");
|
||||
|
||||
using (await @lock.AcquireAsync())
|
||||
//账号状态设置为启用
|
||||
existSysUser.Status = UserStateEnum.Enable;
|
||||
|
||||
foreach (var userTypeId in userTypeIdList)
|
||||
{
|
||||
var saveItem = _mapper.Map<IdentityUser>(first);
|
||||
var findRole = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == userTypeId);
|
||||
|
||||
|
||||
if (trialType == TrialType.NoneOfficial)
|
||||
if (findRole != null)
|
||||
{
|
||||
saveItem.IsTestUser = true;
|
||||
//存在该角色,设置为启用
|
||||
findRole.IsUserRoleDisabled = false;
|
||||
}
|
||||
|
||||
// 中心调研生成账号 都是外部的
|
||||
saveItem.IsZhiZhun = false;
|
||||
saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
|
||||
|
||||
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser));
|
||||
|
||||
saveItem.UserName = saveItem.UserCode;
|
||||
|
||||
saveItem.UserRoleList = new List<UserRole>();
|
||||
|
||||
foreach (var addUserRole in addUserRoleList)
|
||||
else
|
||||
{
|
||||
addUserRole.IsGeneratedAccount = true;
|
||||
|
||||
//var trialSiteId = addUserRole.TrialSiteId;
|
||||
|
||||
var addRole = _mapper.Map<UserRole>(saveItem);
|
||||
|
||||
addRole.UserTypeEnum = addUserRole.UserTypeEnum;
|
||||
addRole.UserTypeId = addUserRole.UserTypeId;
|
||||
|
||||
saveItem.UserRoleList.Add(addRole);
|
||||
|
||||
//不存在该角色,那么就添加
|
||||
var addRole = _mapper.Map<UserRole>(existSysUser);
|
||||
addRole.UserTypeEnum = _userTypeRepository.Where(t => t.Id == userTypeId).Select(t => t.UserTypeEnum).First();
|
||||
addRole.UserTypeId = userTypeId;
|
||||
addRole.IsUserRoleDisabled = false;
|
||||
existSysUser.UserRoleList.Add(addRole);
|
||||
}
|
||||
|
||||
|
||||
var newUser = await _identityUserRepository.AddAsync(saveItem);
|
||||
|
||||
await _identityUserRepository.SaveChangesAsync();
|
||||
|
||||
sysUserInfo = newUser;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -1144,86 +1126,114 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
else
|
||||
{
|
||||
|
||||
foreach (var addUserRole in addUserRoleList)
|
||||
//生成账户 并插入
|
||||
var generateUser = _mapper.Map<IdentityUser>(first);
|
||||
|
||||
if (trialType == TrialType.NoneOfficial)
|
||||
{
|
||||
var find = sysUserInfo.UserRoleList.FirstOrDefault(t => t.UserTypeEnum == addUserRole.UserTypeEnum && t.UserTypeId == addUserRole.UserTypeId);
|
||||
|
||||
if (find != null && find.IsUserRoleDisabled == true)
|
||||
{
|
||||
find.IsUserRoleDisabled = false;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var addRole = _mapper.Map<UserRole>(sysUserInfo);
|
||||
|
||||
addRole.Id = NewId.NextSequentialGuid();
|
||||
addRole.IdentityUserId = sysUserInfo.Id;
|
||||
addRole.UserTypeEnum = addUserRole.UserTypeEnum;
|
||||
addRole.UserTypeId = addUserRole.UserTypeId;
|
||||
|
||||
sysUserInfo.UserRoleList.Add(addRole);
|
||||
}
|
||||
generateUser.IsTestUser = true;
|
||||
}
|
||||
|
||||
await _identityUserRepository.SaveChangesAsync();
|
||||
// 外部人员生成账号 都是外部的
|
||||
generateUser.IsZhiZhun = false;
|
||||
|
||||
generateUser.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
|
||||
|
||||
generateUser.UserCode = AppSettings.GetCodeStr(generateUser.Code, nameof(IdentityUser));
|
||||
|
||||
//generateUser.UserName = generateUser.UserCode;
|
||||
|
||||
|
||||
generateUser.Password = MD5Helper.Md5(IRCEmailPasswordHelper.GenerateRandomPassword(10));
|
||||
|
||||
generateUser.Status = UserStateEnum.Disable;
|
||||
|
||||
generateUser.UserRoleList = new List<UserRole>() { };
|
||||
|
||||
foreach (var userTypeId in userTypeIdList)
|
||||
{
|
||||
var addRole = _mapper.Map<UserRole>(generateUser);
|
||||
|
||||
addRole.Id = NewId.NextSequentialGuid();
|
||||
|
||||
addRole.UserTypeEnum = _userTypeRepository.Where(t => t.Id == userTypeId).Select(t => t.UserTypeEnum).First();
|
||||
|
||||
addRole.UserTypeId = userTypeId;
|
||||
|
||||
generateUser.UserRoleList.Add(addRole);
|
||||
}
|
||||
|
||||
var newAddUser = await _identityUserRepository.AddAsync(generateUser);
|
||||
|
||||
|
||||
existSysUser = newAddUser;
|
||||
|
||||
}
|
||||
|
||||
var userId = sysUserInfo.Id;
|
||||
await _identityUserRepository.SaveChangesAsync();
|
||||
|
||||
//判断是否加入到项目
|
||||
var findTrialUser = await _trialIdentityUserRepository.FirstOrDefaultAsync(t => t.TrialId == trialId && t.IdentityUserId == userId, true);
|
||||
|
||||
var identityUserId = existSysUser.Id;
|
||||
|
||||
|
||||
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
var isNeedSendEmail = false;
|
||||
|
||||
if (findTrialUser == null)
|
||||
{
|
||||
|
||||
await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser()
|
||||
//没有项目参与人员
|
||||
findTrialUser = await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser()
|
||||
{
|
||||
IdentityUserId = identityUserId,
|
||||
TrialId = trialId,
|
||||
IdentityUserId = userId,
|
||||
JoinTime = DateTime.Now,
|
||||
TrialUserRoleList =
|
||||
sysUserInfo.UserRoleList.Select(t => new TrialUserRole() { TrialId = trialId, UserId = t.Id }).ToList()
|
||||
|
||||
TrialUserRoleList = userTypeIdList.Select(u => new TrialUserRole()
|
||||
{
|
||||
TrialId = trialId,
|
||||
UserId = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == u).Id,
|
||||
|
||||
}).ToList()
|
||||
});
|
||||
|
||||
await _mailVerificationService.SiteSurveyUserJoinEmail(trialId, userId, baseUrl, routeUrl);
|
||||
|
||||
isNeedSendEmail = true;
|
||||
}
|
||||
else if (findTrialUser.IsDeleted == true)
|
||||
else
|
||||
{
|
||||
await _trialIdentityUserRepository.UpdatePartialFromQueryAsync(t => t.TrialId == trialId && t.IdentityUserId == userId, c => new TrialIdentityUser()
|
||||
//有该人员
|
||||
//是否有该角色
|
||||
|
||||
foreach (var userTypeId in userTypeIdList)
|
||||
{
|
||||
IsDeleted = false,
|
||||
DeletedTime = null,
|
||||
JoinTime = DateTime.Now,
|
||||
});
|
||||
var findTrialUserRole = findTrialUser.TrialUserRoleList.Where(t => t.UserRole.UserTypeId == userTypeId).FirstOrDefault();
|
||||
|
||||
await _mailVerificationService.SiteSurveyUserJoinEmail(trialId, userId, baseUrl, routeUrl);
|
||||
}
|
||||
if (findTrialUserRole == null)
|
||||
{
|
||||
isNeedSendEmail = true;
|
||||
//添加该角色
|
||||
findTrialUser.TrialUserRoleList.Add(new TrialUserRole() { TrialUserId = findTrialUser.Id, TrialId = trialId, UserId = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == userTypeId).Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
//如果禁用,那么启用
|
||||
if (findTrialUserRole.IsDeleted == true)
|
||||
{
|
||||
findTrialUserRole.IsDeleted = false;
|
||||
findTrialUserRole.DeletedTime = null;
|
||||
}
|
||||
|
||||
|
||||
foreach (var userRole in addUserRoleList)
|
||||
{
|
||||
var userRoleId = sysUserInfo.UserRoleList.Where(t => t.UserTypeId == userRole.UserTypeId).First().Id;
|
||||
|
||||
var findTrialSiteUser = await _trialSiteUserRoleRepository.FirstOrDefaultAsync(t => t.TrialId == trialId && t.UserId == userRoleId && t.TrialSiteId == userRole.TrialSiteId, true);
|
||||
if (findTrialSiteUser == null)
|
||||
{
|
||||
await _trialSiteUserRoleRepository.AddAsync(new TrialSiteUserRole() { TrialId = trialId, TrialSiteId = userRole.TrialSiteId, UserId = userRoleId });
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
findTrialSiteUser.IsDeleted = false;
|
||||
findTrialSiteUser.DeletedTime = null;
|
||||
}
|
||||
|
||||
findTrialSiteUser.IsDeleted = false;
|
||||
}
|
||||
|
||||
|
||||
if (isNeedSendEmail)
|
||||
{
|
||||
await _mailVerificationService.SiteSurveyUserJoinEmail(trialId, identityUserId, baseUrl, routeUrl);
|
||||
}
|
||||
await _trialSiteUserRoleRepository.SaveChangesAsync();
|
||||
|
||||
|
||||
|
|
|
@ -171,8 +171,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public bool IsSystemUser { get; set; }
|
||||
|
||||
[NotDefault]
|
||||
public Guid SystemUserId { get; set; }
|
||||
//public Guid SystemUserId { get; set; }
|
||||
|
||||
[NotDefault]
|
||||
public Guid UserTypeId { get; set; }
|
||||
|
|
|
@ -16,6 +16,7 @@ using Microsoft.AspNetCore.Mvc;
|
|||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using IRaCIS.Application.Contracts;
|
||||
using MassTransit;
|
||||
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
|
@ -76,7 +77,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
if (existSysUser.LastName != addOrEditTrialExternalUser.LastName || existSysUser.FirstName != addOrEditTrialExternalUser.FirstName)
|
||||
{
|
||||
//$"该用户在系统中的用户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} 电话:{existSysUser.Phone},与填写信息存在不一致项, 请将界面信息修改为与系统一致,再进行保存",
|
||||
return ResponseOutput.NotOk(_localizer["TrialExternalUser_Inconsistency", existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], new { existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone, existSysUser.IsZhiZhun, existSysUser.IsTestUser }, ApiResponseCodeEnum.NeedTips);
|
||||
return ResponseOutput.NotOk(_localizer["TrialExternalUser_Inconsistency", existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], new { existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone, existSysUser.OrganizationName, existSysUser.IsZhiZhun, existSysUser.IsTestUser }, ApiResponseCodeEnum.NeedTips);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -147,7 +148,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
Id = addEntity.Id,
|
||||
Email=addEntity.Email,
|
||||
IsSystemUser=addEntity.IsSystemUser,
|
||||
SystemUserId=addEntity.SystemUserId,
|
||||
//SystemUserId=addEntity.SystemUserId,
|
||||
UserTypeId=addOrEditTrialExternalUser.UserTypeId
|
||||
}
|
||||
}
|
||||
|
@ -256,7 +257,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
|
||||
//生成账户 并插入
|
||||
var externalUser = _trialExternalUseRepository.FirstOrDefaultAsync(t => t.Id == itemFirst.Id);
|
||||
var externalUser = await _trialExternalUseRepository.FirstOrDefaultAsync(t => t.Id == itemFirst.Id);
|
||||
var generateUser = _mapper.Map<IdentityUser>(externalUser);
|
||||
|
||||
if (trialType == TrialType.NoneOfficial)
|
||||
|
@ -269,10 +270,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
generateUser.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
|
||||
|
||||
|
||||
generateUser.UserCode = AppSettings.GetCodeStr(generateUser.Code, nameof(IdentityUser));
|
||||
|
||||
generateUser.UserName = generateUser.UserCode;
|
||||
//generateUser.UserName = generateUser.UserCode;
|
||||
|
||||
|
||||
generateUser.Password = MD5Helper.Md5(IRCEmailPasswordHelper.GenerateRandomPassword(10));
|
||||
|
@ -285,8 +285,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
var addRole = _mapper.Map<UserRole>(generateUser);
|
||||
|
||||
addRole.Id = NewId.NextSequentialGuid();
|
||||
addRole.UserTypeEnum = _userTypeRepository.Where(t => t.Id == userTypeId).Select(t => t.UserTypeEnum).First();
|
||||
|
||||
addRole.UserTypeId = userTypeId;
|
||||
|
||||
generateUser.UserRoleList.Add(addRole);
|
||||
|
@ -294,7 +294,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
var newAddUser = await _identityUserRepository.AddAsync(generateUser);
|
||||
|
||||
await _trialExternalUseRepository.BatchUpdateNoTrackingAsync(t => externalIdList.Contains(t.Id), u => new TrialExternalUser() { IsSystemUser = false, SystemUserId = newAddUser.Id });
|
||||
await _trialExternalUseRepository.BatchUpdateNoTrackingAsync(t => externalIdList.Contains(t.Id), u => new TrialExternalUser()
|
||||
{
|
||||
IsSystemUser = false,
|
||||
SystemUserId = newAddUser.Id,
|
||||
FirstName = existSysUser.FirstName,
|
||||
LastName = existSysUser.LastName,
|
||||
OrganizationName = existSysUser.OrganizationName,
|
||||
Phone = existSysUser.Phone,
|
||||
});
|
||||
|
||||
existSysUser = newAddUser;
|
||||
|
||||
|
@ -315,7 +323,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
return ResponseOutput.NotOk("database dirty data ");
|
||||
}
|
||||
|
||||
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true).Include(t => t.TrialUserRoleList).FirstOrDefaultAsync();
|
||||
var findTrialUser = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId && t.IdentityUserId == identityUserId, true).Include(t => t.TrialUserRoleList).ThenInclude(t => t.UserRole).FirstOrDefaultAsync();
|
||||
|
||||
if (findTrialUser == null)
|
||||
{
|
||||
|
@ -329,7 +337,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
TrialUserRoleList = userTypeIdList.Select(u => new TrialUserRole()
|
||||
{
|
||||
TrialId = trialId,
|
||||
UserId = existSysUser.UserRoleList.FirstOrDefault(t=>t.UserTypeId==u).Id,
|
||||
UserId = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == u).Id,
|
||||
|
||||
}).ToList()
|
||||
});
|
||||
|
@ -342,12 +350,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
foreach (var userTypeId in userTypeIdList)
|
||||
{
|
||||
var findTrialUserRole = findTrialUser.TrialUserRoleList.Where(t => t.UserId == userTypeId).FirstOrDefault();
|
||||
var findTrialUserRole = findTrialUser.TrialUserRoleList.Where(t => t.UserRole.UserTypeId == userTypeId).FirstOrDefault();
|
||||
|
||||
if (findTrialUserRole == null)
|
||||
{
|
||||
//添加该角色
|
||||
findTrialUser.TrialUserRoleList.Add(new TrialUserRole() { TrialUserId = findTrialUser.Id, TrialId = trialId, UserId = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == userTypeId).Id });
|
||||
findTrialUser.TrialUserRoleList.Add(new TrialUserRole() { TrialUserId = findTrialUser.Id, TrialId = trialId, UserId = existSysUser.UserRoleList.FirstOrDefault(t => t.UserTypeId == userTypeId).Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -362,9 +370,10 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
await _trialIdentityUserRepository.SaveChangesAsync();
|
||||
|
||||
var usertyps = string.Join(',', userTypeList.Where(t=> userTypeIdList.Contains(t.UserTypeId)).Select(t => t.UserTypeShortName));
|
||||
var usertyps = string.Join(',', userTypeList.Where(t => userTypeIdList.Contains(t.UserTypeId)).Select(t => t.UserTypeShortName));
|
||||
|
||||
await _mailVerificationService.ExternalUserJoinEmail(trialId, identityUserId, usertyps, sendEmail.BaseUrl, sendEmail.RouteUrl);
|
||||
|
||||
|
|
Loading…
Reference in New Issue