Merge branch 'feature/stock_type_filter' into 'develop_red'

update filter type stock top list

See merge request germany/ger-market-java!3
This commit is contained in:
vpckiet
2025-07-24 03:28:23 +00:00

View File

@@ -1,6 +1,7 @@
package cn.stock.market.web; package cn.stock.market.web;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.qutaojing.common.jpa.ConditionBuilder;
import cn.stock.market.MoneyStockSuggestDTO; import cn.stock.market.MoneyStockSuggestDTO;
import cn.stock.market.domain.basic.entity.MoneyStock; import cn.stock.market.domain.basic.entity.MoneyStock;
import cn.stock.market.domain.basic.entity.OptionalStock; import cn.stock.market.domain.basic.entity.OptionalStock;
@@ -614,10 +615,20 @@ public class MoneyApiController {
@ResponseBody @ResponseBody
@EncryptFilter(decryptRequest = false) @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", 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"); "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); List<StockQuoteData> stockQuoteDatas = moneyApiService.getStocksQuote(stocks);
for (StockQuoteData stockQuoteData : stockQuoteDatas) { for (StockQuoteData stockQuoteData : stockQuoteDatas) {
Stock name = stocks.stream().filter(e->e.getStockCode().equals(stockQuoteData.getSymbol())).findFirst().orElse(null); Stock name = stocks.stream().filter(e->e.getStockCode().equals(stockQuoteData.getSymbol())).findFirst().orElse(null);