public void MapAllDishes() { var meituan = ResturantFactory.CreateResturant(platform); var dishes = GetDishes(); DishMapParameter parameter = new DishMapParameter(); parameter.Token = Startup.StoreInfos[1]; parameter.ErpStoreID = 1; int dishindex = 1; int subdishIndex = 1; foreach (var dish in dishes) { var map = new DishMapParameter.DishMapItem() { DishId = dish.DishId, ErpDishId = (dishindex++).ToString() }; parameter.DishMapItems.Add(map); } meituan.DishMap(parameter); }
public void DishMap(DishMapParameter parameter) { List <object> mapObjects = new List <object>(); foreach (var mapitem in parameter.DishMapItems) { mapObjects.Add(new { baidu_dish_id = mapitem.DishId, dish_id = mapitem.ErpDishId }); } Post("dishes.id.batchupdate", new Dictionary <string, object>() { { "shop_id", parameter.ErpStoreID.ToString() }, { "ids", mapObjects } }); }
public void DishMap() { var baidu = new Impls.Baidu.BaiduResturant(); var dishes = baidu.GetDishList(ErpShopId, null); var parameter = new DishMapParameter(); parameter.ErpStoreID = ErpShopId; foreach (var dish in dishes) { parameter.DishMapItems.Add(new DishMapParameter.DishMapItem() { DishId = dish.DishId, ErpDishId = (Convert.ToInt32(dish.ErpDishId) + 100).ToString() }); } baidu.DishMap(parameter); }
public void DishMap() { int index = 1; var resturant = ResturantFactory.CreateResturant(ResturantPlatformType.Ele); var dishes = resturant.GetDishList(1, Token); DishMapParameter parameter = new DishMapParameter(); parameter.ErpStoreID = ErpStoreId; parameter.Token = Token; foreach (var dish in dishes) { parameter.DishMapItems.Add(new DishMapParameter.DishMapItem() { DishId = dish.DishId, ErpDishId = (index++).ToString(), }); } resturant.DishMap(parameter); }
public void DishMap(DishMapParameter parameter) { var postDict = new SortedDictionary <string, string>(); postDict["appAuthToken"] = parameter.Token; postDict["charset"] = "utf-8"; postDict["timestamp"] = (Helper.ConvertDateTimeInt(DateTime.Now)).ToString(); postDict["ePoiId"] = parameter.ErpStoreID.ToString(); //转换菜品列表到dishMappings参数 object[] dishMappings = new object[parameter.DishMapItems.Count]; for (int i = 0; i < dishMappings.Length; i++) { var source = parameter.DishMapItems[i]; Dictionary <string, object> dishmapObj = new Dictionary <string, object>(); dishMappings[i] = dishmapObj; dishmapObj["dishId"] = int.Parse(source.DishId); dishmapObj["eDishCode"] = source.ErpDishId; } postDict["dishMappings"] = Newtonsoft.Json.JsonConvert.SerializeObject(dishMappings); postDict["sign"] = MeituanHelper.Sign(postDict, this.Config.SignKey); var result = Helper.PostQueryString("http://api.open.cater.meituan.com/waimai/dish/mapping", postDict, 8000); var jsonObj = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(result); Newtonsoft.Json.Linq.JToken errobj; if (jsonObj.TryGetValue("error", StringComparison.CurrentCultureIgnoreCase, out errobj)) { throw new Exception(errobj.Value <string>("message")); } if (!string.Equals(jsonObj.Value <string>("data"), "ok", StringComparison.CurrentCultureIgnoreCase)) { throw new Exception("发生错误"); } }
public void DishMap(DishMapParameter parameter) { //饿了么这个方法不用实现,因为饿了么的菜品里面没有erpDishId属性,只有sku里面有extendCode //erp方面,只要自己记录下来,菜品对应的饿了么菜品id是什么即可,因为饿了么关于菜品的操作,都是基于饿了么自己的菜品id进行 }