/// <summary> /// 获取品牌及车系 /// </summary> /// <param name="context"></param> /// <returns></returns> private string RefreshBrandSeriesAPIData(HttpContext context) { var result = string.Empty; //查询当前用户的appkey //调用接口获取远程数据 BLLJIMP.BLLKeyValueData bllKV = new BLLJIMP.BLLKeyValueData(); var baseUrl = "http://apis.haoservice.com/lifeservice/car/"; var appKey = bllKV.GetDataVaule(BLLJIMP.Enums.KeyVauleDataType.HaoServiceAppKey, "GetCarSeries", this.webSiteOwner); var api = baseUrl + "GetSeries?key=" + appKey; var modelApi = baseUrl + "GetModel/?key=" + appKey + "&id="; var respStr = MySpider.MySpider.GetPageSourceForUTF8(api); if (!string.IsNullOrWhiteSpace(respStr)) { //var respObj = JsonConvert.DeserializeObject<BLLJIMP.Model.HaoService.BrandResp>(respStr); var respObj = ZentCloud.Common.JSONHelper.JsonToModel <BLLJIMP.Model.HaoService.BrandResp>(respStr); var reason = respObj.reason; //保存品牌 List <CarBrandInfo> brandList = new List <CarBrandInfo>(); //保存车系分类 List <CarSeriesCateInfo> seriesCateList = new List <CarSeriesCateInfo>(); //保存车系类别 List <CarSeriesInfo> seriesList = new List <CarSeriesInfo>(); List <CarModelCateInfo> modelCateList = new List <CarModelCateInfo>(); List <CarModelInfo> modelList = new List <CarModelInfo>(); //dynamic resp = JsonConvert.DeserializeObject(respStr); var updator = this.currentUserInfo == null ? "" : this.currentUserInfo.UserID; foreach (var i in respObj.result) { brandList.Add(new CarBrandInfo() { CarBrandId = i.I, CarBrandName = i.N, FirstLetter = i.L, UpdateTime = DateTime.Now, Updator = updator });//保存品牌 foreach (var j in i.List) { seriesCateList.Add(new CarSeriesCateInfo() { CarBrandId = i.I, CarSeriesCateId = j.I, CarSeriesCateName = j.N, UpdateTime = DateTime.Now, Updator = updator });//保存车系分类 foreach (var k in j.List) { seriesList.Add(new CarSeriesInfo() { CarBrandId = i.I, CarSeriesCateId = j.I, CarSeriesId = k.I, CarSeriesName = k.N, UpdateTime = DateTime.Now, Updator = updator });//保存车系类别 } } } //保存到数据库,id不存在的则新增,否则跳过 int totalCount = 0; //品牌数据不更新 //totalCount += bll.UpdateBrandInfo(brandList); totalCount += bll.UpdateSeriesCateInfo(seriesCateList); totalCount += bll.UpdateSeriesInfo(seriesList); List <int> buyBrandIdList = new List <int>(); List <int> serviceBrandList = new List <int>(); List <int> allBrandIdList = new List <int>(); bll.GetWebSiteBrandIdList(this.webSiteOwner, out buyBrandIdList, out serviceBrandList, out allBrandIdList); //获取车型数据 var webSeriesList = seriesList.Where(p => allBrandIdList.Contains(p.CarBrandId)); foreach (var series in webSeriesList) { respStr = MySpider.MySpider.GetPageSourceForUTF8(modelApi + series.CarSeriesId.ToString()); dynamic apiData = JsonConvert.DeserializeObject(respStr); if (apiData["reason"].ToString() == "Success") { dynamic apiResultData = apiData["result"]["List"]; foreach (var apiModelCate in apiResultData) { var cateId = int.Parse(apiModelCate["I"].ToString()); modelCateList.Add(new CarModelCateInfo() { CarSeriesId = series.CarSeriesId, CarModelCateId = cateId, CarModelCateName = apiModelCate["N"].ToString(), UpdateTime = DateTime.Now, Updator = updator }); dynamic apiYearList = apiModelCate["List"]; foreach (var apiYearData in apiYearList) { var year = int.Parse(apiYearData["I"].ToString()); foreach (var apiCarModel in apiYearData["List"]) { var modelId = int.Parse(apiCarModel["I"].ToString()); var modelName = apiCarModel["N"].ToString(); var modelPrice = int.Parse(apiCarModel["P"].ToString()); modelList.Add(new CarModelInfo() { CarSeriesCateId = series.CarSeriesCateId.Value, CarSeriesId = series.CarSeriesId, CarBrandId = series.CarBrandId, CarModelCateId = cateId, Year = year, CarModelId = modelId, CarModelName = modelName, GuidePrice = modelPrice, UpdateTime = DateTime.Now, Updator = updator }); } } } } } totalCount += bll.UpdateModelCateInfo(modelCateList); totalCount += bll.UpdateModelInfo(modelList); resp.isSuccess = true; resp.returnValue = totalCount.ToString(); result = MySpider.JSONHelper.ObjectToJson(resp); } return(result); }