Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        /// <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);
            }
        }