Example #1
0
        public async Task MtSyncStock(UserDTO user)
        {
            var bak365Util = new Bak365Util(user.ConnString);

            //获取美团开启自动同步库存的门店
            var shopConfigs = await _shopConfigService.GetAutoSyncListAsync(user.Id, 0);

            if (shopConfigs.Count > 0)
            {
                var account = _accountService.GetAccount(user.Id);

                foreach (var shopConfig in shopConfigs)
                {
                    //获取门店商品
                    var foods = GetMtFoods(account, shopConfig.ShopNo);

                    //获取365库存
                    var currentStocks =
                        bak365Util.GetCurrentStock(shopConfig.ShopNo, (IEnumerable <string>)foods.Select(x => x.ProdNo));

                    var data = from a in foods
                               join b in currentStocks on a.ProdNo equals b.ProdNo
                               select new StockModel()
                    {
                        ProdCode = a.ProdCode,
                        ProdNo   = a.ProdNo,
                        Stock    = b.Stock
                    };

                    //同步库存
                    MtUpdateStock(account, shopConfig.ShopNo, data);
                }
            }
        }
Example #2
0
        public async Task UpDown(UserDTO user)
        {
            var account    = _accountService.GetAccount(user.Id);
            var bak365Util = new Bak365Util(user.ConnString);

            var shopProds = await _stockRuleService.GetListShopProdAsync(user.Id);

            foreach (var shopProd in shopProds)
            {
                var currentStocks =
                    bak365Util.GetCurrentStock(shopProd.ShopNo, shopProd.StockRuleProds.Select(x => x.ProdNo));

                var data = from a in shopProd.StockRuleProds
                           join b in currentStocks on a.ProdNo equals b.ProdNo
                           select new StockModel()
                {
                    ProdNo       = a.ProdNo,
                    MtMarkStock  = a.MtStock,
                    EleMarkStock = a.EleStock,
                    CurrentStock = b.Stock
                };

                await MtUpDown(account, shopProd.ShopNo, data);
                await EleUpDown(user.Id, shopProd.ShopNo, data);
            }
        }