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);
        }
Exemple #2
0
        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);
        }
Exemple #5
0
        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("发生错误");
            }
        }
Exemple #6
0
 public void DishMap(DishMapParameter parameter)
 {
     //饿了么这个方法不用实现,因为饿了么的菜品里面没有erpDishId属性,只有sku里面有extendCode
     //erp方面,只要自己记录下来,菜品对应的饿了么菜品id是什么即可,因为饿了么关于菜品的操作,都是基于饿了么自己的菜品id进行
 }