/// <summary> /// 根据用户Id获取该用户信息 /// </summary> /// <param name="input">用户Id</param> /// <returns></returns> public async Task <SystemUserDetailOutput> GetDetailByUserId(IdInput input) { //获取用户基本信息 var userDto = (await _userInfoRepository.GetByIdAsync(input.Id)).MapTo <SystemUserOutput>(); //转换 var userDetailDto = userDto.MapTo <SystemUserDetailOutput>(); //获取角色、组、岗位数据 IList <SystemPrivilegeDetailListOutput> privilegeDetailDtos = (await _permissionUserLogic.GetSystemPrivilegeDetailOutputsByUserId(input)).ToList(); //角色 userDetailDto.Role = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.角色).ToList(); //组 userDetailDto.Group = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.组).ToList(); //岗位 userDetailDto.Post = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.岗位).ToList(); return(userDetailDto); }
/// <summary> /// 根据用户Id获取该用户信息 /// </summary> /// <param name="input">用户Id</param> /// <returns></returns> public async Task <SystemUserDetailOutput> GetDetailByUserId(IdInput input) { //获取用户基本信息 var userDto = (await _userInfoRepository.FindByIdAsync(input.Id)).MapTo <SystemUserOutput>(); //转换 var userDetailDto = userDto.MapTo <SystemUserDetailOutput>(); //获取角色、组、岗位数据 IList <SystemPrivilegeDetailListOutput> privilegeDetailDtos = (await _permissionUserLogic.GetSystemPrivilegeDetailOutputsByUserId(input)).ToList(); var allOrgs = (await _organizationLogic.GetAllEnumerableAsync()).ToList(); foreach (var dto in privilegeDetailDtos) { string description = string.Empty; var organization = allOrgs.FirstOrDefault(w => w.OrganizationId == dto.OrganizationId); if (organization != null && !organization.ParentIds.IsNullOrEmpty()) { foreach (var parent in organization.ParentIds.Split(',')) { //查找上级 var dicinfo = allOrgs.FirstOrDefault(w => w.OrganizationId.ToString() == parent); if (dicinfo != null) { description += dicinfo.Name + ">"; } } if (!description.IsNullOrEmpty()) { description = description.TrimEnd('>'); } } dto.Organization = description; } //角色 userDetailDto.Role = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.角色).ToList(); //组 userDetailDto.Group = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.组).ToList(); //岗位 userDetailDto.Post = privilegeDetailDtos.Where(w => w.PrivilegeMaster == EnumPrivilegeMaster.岗位).ToList(); return(userDetailDto); }