From 2514b4bc99726361d993f6f5ecd2a438c9ed1f1f Mon Sep 17 00:00:00 2001
From: ydj <yangsink@163.com>
Date: Mon, 08 Jul 2024 13:53:05 +0800
Subject: [PATCH] 1

---
 src/main/resources/mapper/StockMapper.xml                        |   15 ++++++---------
 src/main/java/com/nq/service/impl/StockDzServiceImpl.java        |    5 ++++-
 src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java |   17 ++++++++++++++---
 src/main/java/com/nq/pojo/StockSubscribe.java                    |    6 +++++-
 src/main/java/com/nq/dao/StockMapper.java                        |    2 +-
 src/main/java/com/nq/service/impl/PriceServicesImpl.java         |    9 ++++++++-
 6 files changed, 38 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/nq/dao/StockMapper.java b/src/main/java/com/nq/dao/StockMapper.java
index 22965e8..f9df28f 100644
--- a/src/main/java/com/nq/dao/StockMapper.java
+++ b/src/main/java/com/nq/dao/StockMapper.java
@@ -59,6 +59,6 @@
   List findStockByType(@Param("orderBy") String orderBy, @Param("stockType") String stockType,@Param("keyWords") String keyWords);
 
 
-  List<StockDz> findStockTypeDz(@Param("orderBy") String orderBy, @Param("keyWords") String keyWords);
+  List<StockDz> findStockTypeDz(@Param("orderBy") String orderBy, @Param("keyWords") String keyWords , @Param("formatDate") String formatDate);
 
 }
\ No newline at end of file
diff --git a/src/main/java/com/nq/pojo/StockSubscribe.java b/src/main/java/com/nq/pojo/StockSubscribe.java
index b730784..e801a23 100644
--- a/src/main/java/com/nq/pojo/StockSubscribe.java
+++ b/src/main/java/com/nq/pojo/StockSubscribe.java
@@ -97,5 +97,9 @@
     @TableField(updateStrategy = FieldStrategy.IGNORED)
     private BigDecimal minPrice;
 
-
+    /**
+     * 是否在有效时间
+     */
+    @TableField(exist = false)
+    private Boolean isBetween;
 }
\ No newline at end of file
diff --git a/src/main/java/com/nq/service/impl/PriceServicesImpl.java b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
index bf46972..77755e0 100644
--- a/src/main/java/com/nq/service/impl/PriceServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/PriceServicesImpl.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.fasterxml.jackson.core.JsonProcessingException;
 import com.google.gson.Gson;
@@ -26,6 +28,7 @@
 import  java.io.InputStreamReader;
 import  java.net.HttpURLConnection;
 import  java.net.URL;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -53,7 +56,11 @@
         Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
         StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
         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)){
+//            if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
                 if(stockSetting.getType().equals("0")){
                     return  new BigDecimal(stockSetting.getPrice());
                 }else{
diff --git a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
index 05fe43f..b807f0f 100644
--- a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
@@ -1,5 +1,7 @@
 package com.nq.service.impl;
 
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -48,7 +50,8 @@
     @Override
     public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords,  HttpServletRequest request) {
         PageHelper.startPage(pageNum, pageSize);
-        List<StockDz> stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords);
+        String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
+        List<StockDz> stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords,formatDate);
         RPageInfo pageInfo = new RPageInfo();
         pageInfo.setList(stockTypeDz);
         return ServerResponse.createBySuccess(pageInfo);
diff --git a/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
index f0bb75e..cc11dbf 100644
--- a/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
@@ -68,9 +68,9 @@
         if (type != null && !type.equals("")) {
             queryWrapper.eq("type", type);
         }
-        if(getType == 1){
-            queryWrapper.gt("list_date", new Date());
-        }
+//        if(getType == 1){
+//            queryWrapper.gt("list_date", new Date());
+//        }
         if(stockType != null){
             queryWrapper.eq("stock_type", stockType);
         }
@@ -79,6 +79,17 @@
 //            queryWrapper.select(StockSubscribe.class, info -> !info.getColumn().equals("password"));
 //        }
         List<StockSubscribe> stockSubscribeList = this.stockSubscribeMapper.selectList(queryWrapper);
+
+        Date newDate = new Date();
+
+        for (StockSubscribe stockSubscribe : stockSubscribeList) {
+            Date startDate = stockSubscribe.getSubscribeTime();
+            Date endDate = stockSubscribe.getSubscriptionTime();
+
+            boolean isBetween = newDate.after(startDate) && newDate.before(endDate);
+            stockSubscribe.setIsBetween(isBetween);
+        }
+
         PageInfo pageInfo = new PageInfo(stockSubscribeList);
         pageInfo.setList(stockSubscribeList);
 
diff --git a/src/main/resources/mapper/StockMapper.xml b/src/main/resources/mapper/StockMapper.xml
index 88c31d6..ecf4df2 100644
--- a/src/main/resources/mapper/StockMapper.xml
+++ b/src/main/resources/mapper/StockMapper.xml
@@ -333,28 +333,25 @@
   </select>
 
   <select id="findStockTypeDz" resultType="com.nq.pojo.StockDz" parameterType="map">
-    select
+    SELECT
     *
     FROM stock_dz
 
-    where 1=1
+    WHERE start_time &lt; #{formatDate} AND end_time &gt; #{formatDate}
 
     <if test="keyWords != null and keyWords != '' ">
-      and (stock_spell like #{keyWords} or stock_name like #{keyWords})
+      AND (stock_spell LIKE #{keyWords} OR stock_name LIKE #{keyWords})
     </if>
 
     <if test="orderBy != null">
-      order by  increase_ratio
+      ORDER BY  increase_ratio
       <if test="orderBy == 'desc'">
-        desc
+        DESC
       </if>
       <if test="orderBy == 'asc'">
-        asc
+        ASC
       </if>
     </if>
-
-
-
   </select>
 
 

--
Gitblit v1.9.3