@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user