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); } }
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); } }