private static Expression <Func <LowerAgent, bool> > BuildListLowerAgentWhere(ListLowerAgentInput input) { //todo:用户id和websiteId应该从session中拿 Expression <Func <LowerAgent, bool> > where = i => i.UserSysSetting.Userlayer == "0" && i.UserSysSetting.ParentId == input.Id && i.User.Id != input.Id && i.User.WebSiteId == input.WebSiteId; if (!string.IsNullOrWhiteSpace(input.Key)) { where = where.And(i => i.User.RealName.Contains(input.Key) || i.User.LoginName.Contains(input.Key) || i.User.PhoneNumber.Contains(input.Key) || i.User.Shortname.Contains(input.Key)); } if (!string.IsNullOrWhiteSpace(input.Swfzr)) { where = where.And(i => i.UserSysSetting.Swfzr.Contains(input.Swfzr)); } if (input.Start.HasValue) { where = where.And(i => i.UserSysSetting.ValidityDate >= input.Start); } if (input.End.HasValue) { where = where.And(i => i.UserSysSetting.ValidityDate <= input.End); } if (input.MinWdye.HasValue) { where = where.And(i => i.UserWallet.Balance >= input.MinWdye); } if (input.MaxWdye.HasValue) { where = where.And(i => i.UserWallet.Balance <= input.MaxWdye); } return(where); }
/// <summary> /// 获取下级代理商用户列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <ApiResult <PaginationResult <LowerAgentOutputItem> > > ListLowerAgent(ListLowerAgentInput input) { var where = BuildListLowerAgentWhere(input); var agents = await _lowerAgentRepository.QueryByWhereAsync <LowerAgent>(input, null, where); var pageDatas = input.SetResult(agents.TotalCount, LowerAgent.MapToList <LowerAgentOutputItem>(agents.Datas)); return(ApiResult.Success(pageDatas)); }