/// <summary> /// 获取 /// </summary> /// <param name="requestModel"></param> /// <returns></returns> public ActionResult Query(QuerySystemStaffRequestModel requestModel) { var res = _systemStaffService.Query(requestModel); return(Content(res.ToJsonString())); }
/// <summary> /// 获取列表 /// </summary> /// <param name="requestModel"></param> /// <returns></returns> public BusinessPagedBaseViewModel <QuerySystemStaffResponseModel> Query(QuerySystemStaffRequestModel requestModel) { var res = new BusinessPagedBaseViewModel <QuerySystemStaffResponseModel>() { Status = ResponseStatus.Fail }; var filter = PredicateBuilder.True <SystemStaff>(); filter = filter.And(x => x.Status != (int)SystemStaffStatus.Del); if (!requestModel.KeyWord.IsNullOrWhiteSpace()) { filter = filter.And(x => x.LoginName.Contains(requestModel.KeyWord) || x.NickName.Contains(requestModel.KeyWord) || x.Mobile.Contains(requestModel.KeyWord)); } var order = new IOrderByBuilder <SystemStaff>[] { new OrderByBuilder <SystemStaff, DateTime?>(x => x.CreateTime, true), }; var query = _staffRepostory.Find(out int totalCount, requestModel.PageIndex, requestModel.PageSize, filter, order); if (query.Any()) { var viewModel = query.MapToList <QuerySystemStaffResponseModel>(); //获取部门名称 var sectionIds = viewModel.Select(x => x.SectionId).ToList(); var sectionList = _systemSectionRepository.Find(x => sectionIds.Contains(x.Id.ToString())); if (sectionList.Any()) { viewModel.ForEach(m => { var section = sectionList.Where(x => m.SectionId == x.Id + "").Select(x => x.Name).ToList(); if (!section.IsNull()) { m.SectionName = string.Join(",", section); } }); } //获取角色名称 var StaffIds = viewModel.Select(x => x.Id); var roleList = _systemRoleService.FindStaffRoleNameByStaffId(StaffIds); if (roleList.Any()) { viewModel.ForEach(m => { var role = roleList.Where(x => m.Id == x.StaffId).Select(x => x.RoleName).ToList(); if (!role.IsNull()) { m.RoleName = string.Join(",", role); } }); } res.BusinessData = viewModel; } res.Total = totalCount; res.Status = ResponseStatus.Success; return(res); }