示例#1
0
        public async Task MtUpdateStock(string waimaiAppId, string waimaiAppSecret, string shopNo, IEnumerable <StockModel> models)
        {
            var size = 50;
            var loop = (models.Count() + size - 1) / size;

            for (var i = 0; i < loop; ++i)
            {
                var data         = models.Skip(i * size).Take(size);
                var foodDataList = new List <FoodData>();
                foreach (var grouping in data.GroupBy(a => a.ProdCode))
                {
                    var code     = grouping;
                    var foodData = new FoodData()
                    {
                        app_food_code = code.Key
                    };

                    foodData.skus = data
                                    .Where(a => a.ProdCode == code.Key)
                                    .Select(token => new Sku()
                    {
                        sku_id = token.ProdNo, stock = token.CurrentStock.ToString()
                    })
                                    .ToList();

                    foodDataList.Add(foodData);
                }

                var model = new JObject()
                {
                    { "timestamp", ToolsCommon.GetTimestamp().ToString() },
                    { "app_id", waimaiAppId },
                    { "app_poi_code", shopNo },
                    { "food_data", JsonConvert.SerializeObject(foodDataList) }
                };

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

                var response = await HttpCommon.PostJObjectAsync(url, model);
            }
        }
示例#2
0
        public async Task MtUpdateState(string waimaiAppId, string waimaiAppSecret, string shopNo, int state, IEnumerable <StockModel> models)
        {
            var data = models.Select(item => new FoodDataSellStatus()
            {
                app_food_code = item.ProdNo,
                skus          = new List <SkuSellStatus>()
                {
                    new SkuSellStatus()
                    {
                        sku_id = item.ProdNo
                    }
                }
            });

            //分批次提交
            var size = 50;
            var loop = (data.Count() + size - 1) / size;

            for (var j = 0; j < loop; j++)
            {
                var batchFoods = data.Skip(j * size).Take(size);

                var model = new JObject()
                {
                    { "timestamp", ToolsCommon.GetTimestamp().ToString() },
                    { "app_id", waimaiAppId },
                    { "app_poi_code", shopNo },
                    { "food_data", JsonConvert.SerializeObject(batchFoods) },
                    { "sell_status", state }
                };

                var url = GetUrl(waimaiAppSecret, "https://waimaiopen.meituan.com/api/v1/food/sku/sellStatus", model);

                model.Remove("timestamp");
                model.Remove("app_id");
                var response = await HttpCommon.PostJObjectAsync(url, model);
            }
        }