public async Task <BaseResponse <PageModel <UserInfo> > > Get(int page = 1, string key = "") { if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key)) { key = ""; } int intPageSize = 50; var data = await _sysUserInfoServices.QueryPage(a => a.DataFlag == 1 && ((a.UserName != null && a.UserName.Contains(key)) || (a.NickName != null && a.NickName.Contains(key))), page, intPageSize, " Id desc "); #region MyRegion var allUserRoles = await _userRoleServices.Query(); var allRoles = await _roleServices.Query(d => d.IsDrop == false); var sysUserInfos = data.Models; foreach (var item in sysUserInfos) { var currentUserRoles = allUserRoles.Where(d => d.UserId == item.Id)?.Select(d => d.RoleId).ToList(); item.RIDs = currentUserRoles; item.RoleNames = allRoles.Where(d => currentUserRoles.Contains((int)d.Id))?.Select(d => d.Name).ToList(); } data.Models = sysUserInfos; #endregion return(new BaseResponse <PageModel <UserInfo> >() { Data = data }); }