public IEnumerable <HouseInfo> SearchHouses(HouseCondition condition) { if (string.IsNullOrEmpty(condition.Source)) { var houseList = new List <HouseInfo>(); // 因为会走几个表,默认每个表取N条 var houseSources = GetCityHouseSources(condition.CityName); var limitCount = condition.HouseCount / houseSources.Count; foreach (var houseSource in houseSources) { //建荣家园数据质量比较差,默认不出 if (houseSource == ConstConfigName.CCBHouse) { continue; } condition.Source = houseSource; condition.HouseCount = limitCount; houseList.AddRange(Search(condition)); } return(houseList.OrderByDescending(h => h.PubTime)); } else { return(Search(condition)); } }
public IEnumerable <HouseInfo> Search(HouseCondition condition) { string redisKey = condition.RedisKey; var houses = new List <HouseInfo>(); if (!condition.Refresh) { houses = _redisService.ReadCache <List <HouseInfo> >(redisKey, RedisKey.Houses.DBName); if (houses != null && houses.Count > 0) { return(houses); } } using (IDbConnection dbConnection = GetConnection()) { dbConnection.Open(); houses = dbConnection.Query <HouseInfo>(condition.QueryText, condition).ToList(); if (houses != null && houses.Count > 0) { _redisService.WriteObject(redisKey, houses, RedisKey.Houses.DBName); } return(houses); } }