/// <summary> /// 获取单个sku(有效) /// </summary> /// <returns></returns> private string GetProductBySkuId(List <List <string> > skuIds) { string html = "["; string prodcutList = ""; for (int i = 0; i < skuIds.Count; i++) { WebUtils.HttpPacket packet = WebUtils.DoPost(ApiConfig.ApiUrl + "Product/GetProductBySkuIds?" + CommonUtils.GetUrlParameter(), JsonConvert.SerializeObject(skuIds[i]), "application/json"); try { ApiResponse apiResponse = JsonConvert.DeserializeObject <ApiResponse>(packet.ResponseBody); if (apiResponse.State) { apiResponse.Content = apiResponse.Content.ToString().Substring(1); apiResponse.Content = apiResponse.Content.ToString().Substring(0, apiResponse.Content.ToString().Length - 1); prodcutList += apiResponse.Content.ToString() + ","; } } catch (Exception) { // ignored } } prodcutList = prodcutList.TrimEnd(','); prodcutList += "]"; html += prodcutList; return(html); }
/// <summary> /// 获取商品详情更新供应链表数据 /// </summary> /// <param name="skuIds"></param> /// <returns></returns> private Result <string> GetGoodsDetail(string skuIds) { Result <string> result = new Result <string>() { Status = true, StatusCode = 1, Message = "更新成功" }; List <string> skuidList = new List <string>(); skuidList = JsonConvert.DeserializeObject <List <string> >(skuIds); for (int i = 0; i < skuidList.Count; i++) { string jsonstr = "[" + JsonConvert.SerializeObject(skuidList[i]) + "]"; WebUtils.HttpPacket packet = WebUtils.DoPost(ApiConfig.ApiUrl + "Product/GetProductBySkuIds?" + CommonUtils.GetUrlParameter(), jsonstr, "application/json"); List <ProductResponse> pdlist = null; try { ApiResponse apiResponse = JsonConvert.DeserializeObject <ApiResponse>(packet.ResponseBody); if (apiResponse.State) { pdlist = JsonConvert.DeserializeObject <List <ProductResponse> >(apiResponse.Content.ToString()); var products = Hyt.BLL.Supply.ScProductBo.Instance.GetScProductList((int)Code); foreach (var good in pdlist) { var _product = products.FirstOrDefault(x => x.SKU == good.SkuId); ScProduct product = new ScProduct(); if (_product != null) { product = _product; } product.SKU = good.SkuId; product.SupplyCode = (int)Code; product.ProductName = good.Name; product.Receipt = JsonConvert.SerializeObject(good); product.Status = 1; product.Price = good.Price; product.Brands = good.BrandName; if (_product == null) { product.SysNo = BLL.Supply.ScProductBo.Instance.AddScProduct(product); products.Add(product); } else { BLL.Supply.ScProductBo.Instance.UpdateScProduct(product); } BLL.Supply.ScProductBo.Instance.UpdatePdBySysNo(product.ProductSysNo, System.Web.HttpUtility.UrlEncode(good.Remark, System.Text.Encoding.GetEncoding("UTF-8")).Replace("+", " ")); } } } catch (Exception ex) { result.Status = false; result.Message = "更新商品SkuId " + skuIds[i] + ex.Message; } } return(result); }
/// <summary> /// 根据商品SKU获取商品信息(有效) /// </summary> /// <param name="skuIds"></param> /// <returns></returns> private List <ProductResponse> GetProductBySkuIds(List <string> skuIds) { WebUtils.HttpPacket packet = WebUtils.DoPost(ApiConfig.ApiUrl + "Product/GetProductBySkuIds?" + CommonUtils.GetUrlParameter(), JsonConvert.SerializeObject(skuIds), "application/json"); List <ProductResponse> prodcutList = null; try { ApiResponse apiResponse = JsonConvert.DeserializeObject <ApiResponse>(packet.ResponseBody); if (apiResponse.State) { prodcutList = JsonConvert.DeserializeObject <List <ProductResponse> >(apiResponse.Content.ToString()); } } catch (Exception) { // ignored } return(prodcutList); }
/// <summary> /// 获取所有商品SKU(有效) /// </summary> /// <returns></returns> public override Result <string> GetAllGoodsSku() { var result = new Result <string>() { Status = false, StatusCode = -1, Message = "未知错误" }; lock (lockHelper)//防止多人同时操作造成产品重复添加 { WebUtils.HttpPacket packet = WebUtils.DoGet(Config.GatewayUrl + "Product/GetAllProductSkuId?" + CommonUtils.GetUrlParameter()); List <string> skuidList = new List <string>(); try { ApiResponse apiResponse = JsonConvert.DeserializeObject <ApiResponse>(packet.ResponseBody); if (apiResponse.State) { skuidList = JsonConvert.DeserializeObject <List <string> >(apiResponse.Content.ToString()); List <List <string> > listGroup = new List <List <string> >(); int j = 100; for (int i = 0; i < skuidList.Count; i += 100) { List <string> cList = new List <string>(); cList = skuidList.Take(j).Skip(i).ToList(); j += 100; listGroup.Add(cList); } result.Status = true; result.StatusCode = 1; result.Data = GetProductBySkuId(listGroup); //result.Data = apiResponse.Content.ToString(); } } catch (Exception ex) { result.Message = ex.Message; result.Status = false; result.StatusCode = -2; } return(result); } }