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/utils/stock/sina/StockApi.java | 36 ++++++++++++++++++++++++++++++++++--
1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/nq/utils/stock/sina/StockApi.java b/src/main/java/com/nq/utils/stock/sina/StockApi.java
index 74aaddc..34ddbc8 100644
--- a/src/main/java/com/nq/utils/stock/sina/StockApi.java
+++ b/src/main/java/com/nq/utils/stock/sina/StockApi.java
@@ -1,14 +1,20 @@
package com.nq.utils.stock.sina;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.common.ServerResponse;
+import com.nq.dao.StockTimeSettingMapper;
import com.nq.pojo.*;
+import com.nq.utils.ApplicationContextRegisterUtil;
import com.nq.utils.http.HttpClientRequest;
import com.nq.utils.PropertiesUtil;
import com.nq.utils.redis.JsonUtil;
import com.nq.utils.redis.RedisKeyUtil;
import com.nq.utils.stock.sina.vo.SinaStockMinData;
+import com.nq.utils.timeutil.TimeUtil;
import com.nq.vo.stock.StockListVO;
import com.nq.vo.stock.StockUsVO;
import com.nq.vo.stock.StockVO;
@@ -16,17 +22,25 @@
import com.nq.vo.stock.k.echarts.EchartsDataVO;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.util.*;
import org.apache.commons.lang3.StringUtils;
import org.codehaus.jackson.type.TypeReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+import javax.annotation.Resource;
public class StockApi {
public static final String sina_url = PropertiesUtil.getProperty("sina.single.stock.url");
private static final Logger log = LoggerFactory.getLogger(StockApi.class);
+
+ private static StockTimeSettingMapper getStockTimeSettingMapper() {
+ return ApplicationContextRegisterUtil.getBean(StockTimeSettingMapper.class);
+ }
public static List<StockListVO> getStockReailTimes(List<Stock> stocks) {
if (stocks.size() == 0) {
@@ -44,9 +58,15 @@
stockListVO.setColor(0);
}else{
stockListVO.setColor(1);
- stockListVO.setHcrateP("+"+realTimeStock.getPcp()+"%");
+ stockListVO.setHcrateP(realTimeStock.getPcp()+"%");
}
- stockListVO.setNowPrice(realTimeStock.getLast());
+
+ Boolean b = timeCheck(stock.getStockCode());
+ if(b){
+ stockListVO.setNowPrice(realTimeStock.getLast());
+ }else{
+ stockListVO.setNowPrice(realTimeStock.getPrevClose());
+ }
stockListVO.setToday_max(realTimeStock.getHigh());
stockListVO.setToday_min(realTimeStock.getLow());
stockListVO.setOpen_px(realTimeStock.getBid());
@@ -71,6 +91,18 @@
return stockListVOs;
}
+ public static Boolean timeCheck(String stockCode) {
+ StockTimeSettingMapper stockTimeSettingMapper = getStockTimeSettingMapper();
+ StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type","US"));
+
+ if(stockTimeSetting == null){
+ return false;
+ }
+ if(!stockTimeSetting.getWeekDay().contains(String.valueOf(LocalDate.now().getDayOfWeek().getValue()))){
+ return false;
+ }
+ return TimeUtil.isTradingHour(stockTimeSetting.getAmStartTime(),stockTimeSetting.getAmEndTime(),stockTimeSetting.getPmStartTime(),stockTimeSetting.getPmEndTime());
+ }
/**
* 对接印度股票
--
Gitblit v1.9.3