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/PriceServicesImpl.java |   25 ++++++++++++++++++++++++-
 1 files changed, 24 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/PriceServicesImpl.java b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
index 4273c99..1875994 100644
--- a/src/main/java/com/nq/service/impl/PriceServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -9,6 +9,7 @@
 import com.nq.dao.StockDzMapper;
 import com.nq.dao.StockMapper;
 import com.nq.dao.StockSettingMapper;
+import com.nq.dao.StockTimeSettingMapper;
 import com.nq.enums.EConfigKey;
 import com.nq.enums.EStockType;
 import com.nq.pojo.*;
@@ -29,6 +30,7 @@
 import  java.io.InputStreamReader;
 import  java.net.HttpURLConnection;
 import  java.net.URL;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
@@ -51,6 +53,9 @@
 
     @Resource
     StockDzMapper stockDZMapper;
+
+    @Resource
+    StockTimeSettingMapper stockTimeSettingMapper;
 
     @Override
     public BigDecimal getNowPrice(String stockCode) {
@@ -80,11 +85,29 @@
         String s = doPost(stock.getStockCode());
         if(null != s) {
             Map<String, Object> stringObjectMap = jsonToMap(s);
-            return  new BigDecimal(stringObjectMap.get("Last").toString());
+            Boolean b = timeCheck();
+            if(b){
+                return  new BigDecimal(stringObjectMap.get("Last").toString());
+            }else{
+                return  new BigDecimal(stringObjectMap.get("PrevClose").toString());
+            }
+
         }
         return BigDecimal.ZERO;
     }
 
+    public  Boolean timeCheck() {
+        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());
+    }
+
     @Override
     public Map<String, Object> getNewStock(String stockCode) {
         Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));

--
Gitblit v1.9.3