From 7f63cc81ceeb02d9fd760709cea7abbce98bd346 Mon Sep 17 00:00:00 2001
From: dd <gitluke@outlook.com>
Date: Tue, 04 Nov 2025 00:47:15 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/StockServiceImpl.java | 67 ++++++++++++++++++++++++++++++---
1 files changed, 60 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/StockServiceImpl.java b/src/main/java/com/nq/service/impl/StockServiceImpl.java
index f7750a0..59c7528 100644
--- a/src/main/java/com/nq/service/impl/StockServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -26,6 +26,7 @@
import com.nq.utils.stock.pinyin.GetPyByChinese;
import com.nq.utils.stock.qq.QqStockApi;
import com.nq.utils.stock.sina.StockApi;
+import com.nq.utils.timeutil.TimeUtil;
import com.nq.utils.translate.GoogleTranslateUtil;
import com.nq.vo.stock.*;
import com.nq.vo.stock.k.MinDataVO;
@@ -38,8 +39,10 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.CompletableFuture;
+import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -96,6 +99,9 @@
@Autowired
IPriceServices iPriceServices;
+ @Autowired
+ ITradingHourService tradingHourService;
+
public ServerResponse getMarket() {
@@ -168,19 +174,48 @@
return ServerResponse.createBySuccess(pageInfo);
}
+// @Override
+// public ServerResponse getStockByType(int pageNum, int pageSize, String orderBy, String keyWords, String stockType, HttpServletRequest request) {
+// List<Stock> stockList = new ArrayList<>();
+// PageHelper.startPage(pageNum, pageSize);
+// stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords));
+// List<StockListVO> stockListVOS = Lists.newArrayList();
+// if (stockList.size() > 0){
+// stockListVOS.addAll(Objects.requireNonNull(StockApi.getStockReailTimes(stockList)));
+// }
+// RPageInfo pageInfo = new RPageInfo();
+// pageInfo.setList(stockListVOS);
+// pageInfo.setStockType(stockType);
+// pageInfo.setTotal(stockListVOS.size());
+//
+// return ServerResponse.createBySuccess(pageInfo);
+// }
+
+
+
+
@Override
public ServerResponse getStockByType(int pageNum, int pageSize, String orderBy, String keyWords, String stockType, HttpServletRequest request) {
- List<Stock> stockList = new ArrayList<>();
+ // 启动分页
PageHelper.startPage(pageNum, pageSize);
- stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords));
+
+ // 查询数据(此时返回的已经是分页后的数据)
+ List<Stock> stockList = stockMapper.findStockByType(orderBy, stockType, keyWords);
+
+ // 获取分页信息
+ PageInfo<Stock> pageInfo = new PageInfo<>(stockList);
+
List<StockListVO> stockListVOS = Lists.newArrayList();
- if (stockList.size() > 0){
+ if (stockList.size() > 0) {
stockListVOS.addAll(Objects.requireNonNull(StockApi.getStockReailTimes(stockList)));
}
- RPageInfo pageInfo = new RPageInfo();
- pageInfo.setList(stockListVOS);
- pageInfo.setStockType(stockType);
- return ServerResponse.createBySuccess(pageInfo);
+
+ RPageInfo rPageInfo = new RPageInfo();
+ rPageInfo.setList(stockListVOS);
+ rPageInfo.setStockType(stockType);
+ rPageInfo.setTotal(pageInfo.getTotal()); // 使用 PageInfo 中的总条数
+
+ return ServerResponse.createBySuccess(rPageInfo);
}
@Override
@@ -212,6 +247,11 @@
if(null != cacheBaseStock){
stockVO.setOpen_px(cacheBaseStock.getOpen());
stockVO.setPreclose_px(cacheBaseStock.getPrevClose());
+ }
+ if(tradingHourService.isPreMarket(stock.getStockCode())){
+ stockVO.setPreMarket(1);
+ }else {
+ stockVO.setPreMarket(0);
}
Map map = Maps.newHashMap();
map.put("introduction", introduction);
@@ -454,6 +494,19 @@
}
@Override
+ public ServerResponse getIndexData() {
+ Object object = HttpUtil.get(EStockType.US.getStockUrl()+"indices?country_id="+EStockType.US.getContryId()+"&key="+EStockType.US.getStockKey());
+ Gson gson = new Gson();
+ List<IndexDateBo> dataList = gson.fromJson(object.toString(), new TypeToken<List<IndexDateBo>>(){}.getType());
+ List<String> targetIds = Arrays.asList("15881", "15882", "15883");
+ List<IndexDateBo> filteredList = dataList.stream()
+ .filter(item -> targetIds.contains(item.getId()))
+ .collect(Collectors.toList());
+ return ServerResponse.createBySuccess(filteredList);
+ }
+
+
+ @Override
public ServerResponse getOptionStock(HttpServletRequest request) {
User user = iUserService.getCurrentRefreshUser(request);
if (user == null) {
--
Gitblit v1.9.3