예제 #1
0
        public void MtUpdateStock(Mt_AccountDTO account, string shopNo, IEnumerable <StockModel> data)
        {
            var num1 = data.Count();
            var size = 50;
            var num2 = size;
            var num3 = (num1 + num2 - 1) / size;
            var msg  = "";

            for (var index = 0; index < num3; ++index)
            {
                var source       = data.Skip(index * size).Take(size);
                var foodDataList = new List <FoodData>();
                foreach (var grouping in source.GroupBy(a => a["ProdCode"]))
                {
                    var code     = grouping;
                    var foodData = new FoodData()
                    {
                        app_food_code = code.Key.ToString()
                    };
                    var tokens  = source.Where(a => a["ProdCode"] == code.Key);
                    var skuList = new List <Sku>();
                    foreach (var jtoken in tokens)
                    {
                        skuList.Add(new Sku()
                        {
                            sku_id = jtoken["ProdNo"]?.ToString(),
                            stock  = jtoken["Stock"]?.ToString()
                        });
                    }
                    foodData.skus = skuList;
                    foodDataList.Add(foodData);
                }
                var model = new JObject()
                {
                    { "timestamp", ToolsCommon.GetTimestamp().ToString() },
                    { "app_id", account.WaimaiAppId },
                    { "app_poi_code", shopNo },
                    { "food_data", JsonConvert.SerializeObject(foodDataList) }
                };

                var url = GetUrl(account.WaimaiAppSecret, "https://waimaiopen.meituan.com/api/v1/food/sku/stock", model);
                model.Remove("timestamp");
                model.Remove("app_id");

                var response = HttpCommon.PostJObject(url, model);
            }
        }