public ShopMapController() { IMtAccountService service = new MtAccountService(); Mt_AccountDTO account = service.GetAccount(Global.USER_ID); _tuangouAppKey = account.TuangouAppKey; _tuangouAppSecret = account.TuangouAppSecret; }
public MtCouponService(string userNo, string shopNo) { IMtAccountService service = new MtAccountService(); Mt_AccountDTO account = service.GetAccount(userNo); _tuangouAppKey = account.TuangouAppKey; _tuangouAppSecret = account.TuangouAppSecret; _shopNo = shopNo; }
public IEnumerable <dynamic> GetMtFoods(Mt_AccountDTO account, string shopNo) { var model = new JObject() { { "timestamp", ToolsCommon.GetTimestamp() }, { "app_id", account.WaimaiAppId }, { "app_poi_code", shopNo } }; var url = GetUrl(account.WaimaiAppSecret, "https://waimaiopen.meituan.com/api/v1/food/list", model); var res = HttpCommon.Get(url); var json = JObject.Parse(res); if (json["error"] != null) { return(new List <dynamic>()); } var data = JArray.Parse(json["data"].ToString()); var list = new List <dynamic>(); foreach (var d in data) { var skus = JArray.Parse(d["skus"].ToString()); foreach (var s in skus) { if (d["app_food_code"] != null & s["sku_id"] != null) { if (d["app_food_code"].ToString() != "" && s["sku_id"].ToString() != "") { var prod = new { CateName = d["category_name"], ProdCode = d["app_food_code"], ProdNo = s["sku_id"], ProdName = d["name"], Spec = s["spec"], Price = s["price"], Stock = s["stock"].ToString() == "" ? "9999" : s["stock"], State = d["is_sold_out"] }; list.Add(prod); } } } } return(list); }
public MtBaseApiService(string userId, string shopNo) { IMtAccountService service = new MtAccountService(); Mt_AccountDTO account = service.GetAccount(userId); if (account is null) { return; } _waimaiAppId = account.WaimaiAppId; _waimaiAppSecret = account.WaimaiAppSecret; _shopNo = shopNo; }
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); } }
public ActionResult Edit(Guid id) { Mt_AccountDTO account = _accountService.GetAccount(id); List <UserDTO> list = _userService.GetAll().Where(a => a.Id != "admin").ToList(); return(View(new MtAccountEditGet() { Id = account.Id, UserId = account.UserId, AccountNo = account.AccountNo, AccountName = account.AccountName, WaimaiAppId = account.WaimaiAppId, WaimaiAppSecret = account.WaimaiAppSecret, TuangouAppKey = account.TuangouAppKey, TuangouAppSecret = account.TuangouAppSecret, Description = account.Description, Users = list })); }
//售卖状态,1表下架,0表上架 private async Task MtUpDown(Mt_AccountDTO account, string shopNo, IEnumerable <StockModel> models) { //上架 var upData = models.Where(x => x.CurrentStock > x.MtMarkStock); if (!upData.Any()) { return; } await _jobService.MtUpdateState(account.WaimaiAppId, account.WaimaiAppSecret, shopNo, 0, upData); //下架 var downData = models.Where(x => x.CurrentStock <= x.MtMarkStock); if (!downData.Any()) { return; } await _jobService.MtUpdateState(account.WaimaiAppId, account.WaimaiAppSecret, shopNo, 1, downData); //上架时更新库存 { var foods = await _jobService.MtFoods(account.WaimaiAppId, account.WaimaiAppSecret, shopNo); //结合接口获取的商品,得到ProdCode var data = from a in upData join b in foods on a.ProdNo equals b.ProdNo select new StockModel() { ProdCode = b.ProdCode, ProdNo = a.ProdNo, CurrentStock = a.CurrentStock }; await _jobService.MtUpdateStock(account.WaimaiAppId, account.WaimaiAppSecret, shopNo, data); } }