update filter type stock top list

This commit is contained in:
Congkiet4695
2025-07-24 10:26:47 +07:00
parent 368f4f2f9f
commit 769b35046e

View File

@@ -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<StockQuoteData> getTopActive(@RequestParam String stockType) {
public List<StockQuoteData> getTopActive(@RequestParam String stockType, @RequestParam(value = "type", required = false) String type) {
List<String> topActiveCode = Arrays.asList("SAP","LIN","SIE","DTE","RHM","MUV2","SHL","DB1","MRK",
"BMW", "VOW3", "DHL","ENI","BAS","HEI","ADS","CBK","TLX", "BAYN", "RWE");
List<Stock> 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<Stock> stocks = stockRepository.findAll(builder.build());
List<StockQuoteData> stockQuoteDatas = moneyApiService.getStocksQuote(stocks);
for (StockQuoteData stockQuoteData : stockQuoteDatas) {
Stock name = stocks.stream().filter(e->e.getStockCode().equals(stockQuoteData.getSymbol())).findFirst().orElse(null);