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; } }