diff --git a/src/main/java/cn/stock/market/web/MoneyApiController.java b/src/main/java/cn/stock/market/web/MoneyApiController.java index 300ef11..2b56c23 100644 --- a/src/main/java/cn/stock/market/web/MoneyApiController.java +++ b/src/main/java/cn/stock/market/web/MoneyApiController.java @@ -1,6 +1,7 @@ package cn.stock.market.web; import cn.hutool.core.date.DateUtil; +import cn.qutaojing.common.jpa.ConditionBuilder; import cn.stock.market.MoneyStockSuggestDTO; import cn.stock.market.domain.basic.entity.MoneyStock; import cn.stock.market.domain.basic.entity.OptionalStock; @@ -614,10 +615,20 @@ public class MoneyApiController { @ResponseBody @EncryptFilter(decryptRequest = false) - public List getTopActive(@RequestParam String stockType) { + public List getTopActive(@RequestParam String stockType, @RequestParam(value = "type", required = false) String type) { List topActiveCode = Arrays.asList("SAP","LIN","SIE","DTE","RHM","MUV2","SHL","DB1","MRK", "BMW", "VOW3", "DHL","ENI","BAS","HEI","ADS","CBK","TLX", "BAYN", "RWE"); - List stocks = stockRepository.findAll(QStockPO.stockPO.stockCode.in(topActiveCode)); + QStockPO q = QStockPO.stockPO; + ConditionBuilder builder = ConditionBuilder.builder(); + builder.and(q.stockCode.in(topActiveCode)); + if(type != null && !type.trim().isEmpty()) { + if (type.equals("us")) { + builder.and(q.stockType.in("NASDAQ", "NYSE")); + } else if (type.equals("dg")) { + builder.and(q.stockType.in("XETR")); + } + } + List stocks = stockRepository.findAll(builder.build()); List stockQuoteDatas = moneyApiService.getStocksQuote(stocks); for (StockQuoteData stockQuoteData : stockQuoteDatas) { Stock name = stocks.stream().filter(e->e.getStockCode().equals(stockQuoteData.getSymbol())).findFirst().orElse(null);