/// <summary> /// 获取用户管理的组织机构 /// </summary> /// <param name="id">当前操作的用户主键</param> /// <returns></returns> public List <UserOrganizeMapOutDto> GetUserMaptoOrganize(Guid id) { List <UserOrganizeMapOutDto> listIn = new List <UserOrganizeMapOutDto>(); var result = UserOrganizeMapRepository.GetInclude(m => m.OrganizeOne).Where(m => m.UserLogin_Id == id).ToList(); foreach (var i in result) { listIn.Add(i.MapTo <UserOrganizeMapOutDto>()); } return(listIn); }
/// <summary> /// 添加用户登录信息 /// </summary> /// <param name="inputDtos">要添加的用户登录信息Dtos集合</param> /// <param name="cacheUser">当前操作用户的缓存</param> /// <returns>业务操作结果</returns> public async Task <OperationResult> AddUserLogin(CacheUser cacheUser, params UserLoginInputDto[] inputDtos) { try { if (inputDtos.Length <= 0) { return(new OperationResult(OperationResultType.Error, "添加用户的数组不存在存数!")); } else { List <string> names = new List <string>(); UserLoginRepository.UnitOfWork.BeginTransaction(); foreach (UserLoginInputDto dto in inputDtos) { if (cacheUser.Level >= dto.Level) { return(new OperationResult(OperationResultType.ValidError, $"用户:{dto.UserName}权限等级参数设置错误")); } UserLogin value = dto.MapTo <UserLogin>(); value.SecretKey = new Random().NextLetterString(16); value.Password = value.Password.AESEncrypt128(key: value.SecretKey); value.UserMany.Add(new User { CreatedTime = DateTime.Now, CreatorUserId = cacheUser.UserName, LastUpdatedTime = DateTime.Now, UserLoginOne = value, }); await UserLoginRepository.InsertAsync(value); if (value.Level == 2) { int count = UserOrganizeMapRepository.CheckExists(m => m.Organize_Id == value.Organize_Id && m.UserLogin_Id == value.Id) ? 0 : UserOrganizeMapRepository.Insert(new UserOrganizeMap { Organize_Id = value.Organize_Id, UserLogin_Id = value.Id }); } names.Add(value.UserName); } UserLoginRepository.UnitOfWork.Commit(); if (names.Count == 0) { return(new OperationResult(OperationResultType.NoChanged, "未能添加任何用户")); } else { return(new OperationResult(OperationResultType.Success, "用户:{0}创建成功".FormatWith(names.ExpandAndToString()))); } } } catch (Exception ex) { throw new Exception($"id:{ex.InnerException.Message}"); } }