Ejemplo n.º 1
0
        public async Task <object> List(string quoteCurrency)
        {
            try
            {
                var res = await new DogControlDao().ListDogControl(quoteCurrency);
                res = res.OrderBy(it => it.SymbolName).ToList();
                var nowPriceList = new DogNowPriceDao().ListDogNowPrice(quoteCurrency);
                Dictionary <string, decimal> closeDic = new Dictionary <string, decimal>();
                foreach (var item in nowPriceList)
                {
                    if (item.QuoteCurrency != quoteCurrency)
                    {
                        continue;
                    }
                    closeDic.Add(item.SymbolName, item.NowPrice);
                }

                //var outList = new List<string> { "mtl", "ncash", "phx", "sbtc", "adx", "mtl", "mtl", "mtl", "mtl", "mtl" };
                PlatformApi api     = PlatformApi.GetInstance("xx");
                var         tickers = api.GetTickers();

                var notInControl = new List <string>();
                foreach (var ticker in tickers)
                {
                    if (ticker.symbol.EndsWith(quoteCurrency))
                    {
                        var find = res.Find(it => ticker.symbol.StartsWith(it.SymbolName));
                        if (find == null)
                        {
                            notInControl.Add(ticker.symbol);
                        }
                    }
                }

                return(new
                {
                    list = res.Select(it => new
                    {
                        it.HistoryMin,
                        it.HistoryMax,
                        it.EmptyPrice,
                        it.MaxInputPrice,
                        it.QuoteCurrency,
                        it.SymbolName,
                        AvgPrice = decimal.Round(it.AvgPrice, 9).ToString() + (it.MaxInputPrice > it.AvgPrice ? " 大于加权平均 " : "") + " -- " + decimal.Round(it.Min8, 9).ToString() + (it.MaxInputPrice > it.Min8 ? " 大于8阶层" : ""),
                        it.WillDelist,
                    }).ToList(),
                    closeDic,
                    notInControl,
                    allItems = res.Select(it => it.SymbolName).ToList()
                });
            }
            catch (Exception ex)
            {
                logger.Error(ex.Message, ex);
                throw ex;
            }
        }