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 | 62 +++++++++++++++++++++++++++++-
1 files changed, 59 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
index 52ac833..c66e8ff 100644
--- a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
@@ -1,5 +1,7 @@
package com.nq.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nq.dao.StockMapper;
@@ -15,6 +17,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.util.Date;
/**
* @program: dabao
@@ -44,21 +48,73 @@
@Override
public Boolean timeCheck(String stockCode) {
StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
- Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
- StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type",stock.getStockType()));
+ StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type","US"));
if(stockSetting!= null){
// 说明进入盘前交易或者盘后交易时间
- if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
+ 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;
}
}
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 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