Beispiel #1
0
        /// <summary>
        /// 更新24小时市场价,废弃
        /// </summary>
        /// <param name="platformId"></param>
        /// <param name="coinId"></param>
        /// <param name="exchangeId"></param>
        /// <param name="exName"></param>
        /// <param name="platformCode"></param>
        /// <param name="coinCode"></param>
        public void TaskExecution(int platformId, int coinId, int exchangeId, string exName, string platformCode, string coinCode)
        {
            Log.Info("执行TaskExecution:" + platformCode + "_" + coinCode + "_" + exName);
            try
            {
                ExchangeType   eType      = (ExchangeType)Enum.Parse(typeof(ExchangeType), platformCode);
                ExChangeBase   eb         = ExchangeFactory.InstanExchange(eType);
                BasePriceModel priceModel = eb.GetNowPrice(coinCode, exName);
                if (priceModel == null)
                {
                    return;
                }
                //得到1970年的时间戳
                DateTime timeStamp = new DateTime(1970, 1, 1);
                //注意这里有时区问题,用now就要减掉8个小时
                string timestamps = Convert.ToString((DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000);
                InsertQuotes(platformId, coinId, exchangeId, platformCode, coinCode, timestamps, priceModel);

                GC.Collect();
            }
            catch (Exception ex)
            {
                Log.Error("执行查询插入数据出错" + ex);
            }
        }
Beispiel #2
0
        public ActionResult Index()
        {
            var itemsKOT = (from p in dbKOT.PriceListEntries
                            join a in dbKOT.AccountMs on p.AccountM_UID equals a.UID
                            join i in dbKOT.AccountMItems on p.AccountMItems_UID equals i.AccountM_UID
                            select new {
                i.ItemCode,
                i.ItemName,
                p.Price,
                a.Description
            }
                            ).ToList();
            var itemsCount = (from p in db.tblBasePriceItems select p).ToList().Count;

            if (itemsKOT.Count > itemsCount)
            {
                foreach (var item in itemsKOT)
                {
                    var items = (from p in db.tblItems where p.Name == item.ItemName && p.ItemCode == item.ItemCode select p).FirstOrDefault();

                    var itemcheck = (from p in db.tblBasePriceItems  where p.ItemId == items.ItemId && p.CategoryId == items.CategoryId && p.Type == item.Description select p).SingleOrDefault();
                    if (itemcheck == null)
                    {
                        tblBasePriceItem tb = new tblBasePriceItem();
                        tb.CategoryId = items.CategoryId;
                        tb.ItemId     = items.ItemId;
                        tb.FullPrice  = item.Price;
                        tb.Type       = item.Description;
                        if (item.Description == "Ac Hall")
                        {
                            tb.Vat = 18;
                        }
                        else
                        {
                            tb.Vat = 12;
                        }
                        db.tblBasePriceItems.Add(tb);
                        db.SaveChanges();
                    }
                }
            }


            var BaseData = (from p in db.tblBasePriceItems select p).ToList();
            List <BasePriceModel> list = new List <BasePriceModel>();

            foreach (var item in BaseData)
            {
                BasePriceModel model = new BasePriceModel();
                model.CategoryIds = item.CategoryId;
                model.ItemId      = item.ItemId;
                model.FullPrice   = item.FullPrice;
                //model.HalfPrice = item.HalfPrice;
                model.BasePriceId = item.BasePriceId;
                model.Vat         = item.Vat;
                list.Add(model);
            }
            return(View(list));
        }
Beispiel #3
0
        public override BasePriceModel GetNowPrice(string coin, string currency)
        {
            BasePriceModel basePrice = new BasePriceModel();
            string         Symbol    = ConvertSymbolTool.GateConvertSymbol(coin, currency);
            var            result    = gateAPI.SendRequestContent <TicketRequest>(ApiUrlList.API_Ticker, Symbol);

            if (result == null)
            {
                Log.Error("GATE数据为空" + coin);
                return(basePrice);
            }
            basePrice.buyPrice = result.highestBid;
            basePrice.sellPice = result.lowestAsk;
            basePrice.price    = result.last;
            return(basePrice);
        }
Beispiel #4
0
        public override BasePriceModel GetNowPrice(string coin, string currency)
        {
            BasePriceModel basePrice = new BasePriceModel();
            string         Symbol    = ConvertSymbolTool.OKConvertSymbol(coin, currency);
            var            result    = OkAPi.SendRequestContent <TicketRequset>(ApiUrlList.API_Ticker, Symbol);

            if (result == null)
            {
                Log.Error("okex数据为空" + coin);
                return(basePrice);
            }
            basePrice.buyPrice = result.ticker.buy;
            basePrice.sellPice = result.ticker.sell;
            basePrice.price    = result.ticker.last;
            return(basePrice);
        }
Beispiel #5
0
        public override BasePriceModel GetNowPrice(string coin, string currency)
        {
            BasePriceModel basePrice = new BasePriceModel();
            string         Symbol    = ConvertSymbolTool.BiAnConvertSymbol(coin, currency);
            var            result    = api.SendRequestContent <TicketRequest>(ApiUrlList.API_Ticker, Symbol);

            if (result == null)
            {
                Log.Error("币安数据为空" + coin);
                return(basePrice);
            }

            basePrice.buyPrice = result.bidPrice;
            basePrice.sellPice = result.askPrice;
            basePrice.price    = result.lastPrice;
            return(basePrice);
        }
Beispiel #6
0
        public override BasePriceModel GetNowPrice(string coin, string currency)
        {
            BasePriceModel basePrice = new BasePriceModel();
            string         Symbol    = ConvertSymbolTool.HBConvertSymbol(coin, currency);

            var result = api.SendRequestContent <TicketRequest>(ApiUrlList.API_Ticker, Symbol);

            if (result.status != "ok")
            {
                return(basePrice);
            }
            if (result.tick == null)
            {
                Log.Error("HUOBI数据为空" + coin);
                return(basePrice);
            }
            basePrice.buyPrice = result.tick.bid[0];
            basePrice.sellPice = result.tick.ask[0];
            basePrice.price    = result.tick.close;
            return(basePrice);
        }
Beispiel #7
0
        private void InsertQuotes(int platformId, int coinId, int exchangeId, string platformCode, string coinCode, string timestamps, BasePriceModel priceModel)
        {
            Tmp_Quotes quotes = new Tmp_Quotes();

            quotes.CoinName     = coinCode;
            quotes.Market       = platformCode + "_" + coinCode;
            quotes.Price        = priceModel.price;
            quotes.Buyprice     = priceModel.buyPrice;
            quotes.Sellprice    = priceModel.sellPice;
            quotes.PlatformId   = platformId;
            quotes.CoinId       = coinId;
            quotes.Timestamps   = timestamps;
            quotes.Currencytype = (int)CurrencyType.USDT;
            quotes.CreateTime   = DateTime.Now;
            if (!quotes.Insert())
            {
                Log.Error("新增数据失败" + quotes.Market);
            }
        }