From f3b9e9f5024c13c6e70711a3ec98b4538378bd85 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 29 Oct 2025 13:53:57 +0800
Subject: [PATCH] 10.24二开,场外买入卖出,挂单

---
 src/main/java/com/nq/service/impl/TradingHourServiceImpl.java |   47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
index 8226927..c66e8ff 100644
--- a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
@@ -68,6 +68,53 @@
     }
 
     @Override
+    public StockSetting preMarketPrice(String stockCode) {
+        StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
+        if(stockSetting!= null){
+            // 说明进入盘前交易或者盘后交易时间
+            Date newDate = new Date();
+            DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime());
+            DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime());
+            if(newDate.after(startTime) && newDate.before(endTime)){
+                return  stockSetting;
+            }
+        }
+        return  null;
+    }
+
+    @Override
+    public Boolean isPreMarket(String stockCode) {
+        // 查询该股票的特定时间设置
+        StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
+        boolean res = timeCheckNoPreMarket();
+        if(!res){
+            if(stockSetting!= null){
+                // 说明进入盘前交易或者盘后交易时间
+                Date newDate = new Date();
+                DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime());
+                DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime());
+                if(newDate.after(startTime) && newDate.before(endTime)){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public Boolean timeCheckNoPreMarket() {
+        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 Boolean timeCheck() {
         return true;
     }

--
Gitblit v1.9.3