Przeglądaj źródła

1.处理 盘后数据 after —— qlm

qlm 4 lat temu
rodzic
commit
9a37123968

+ 2 - 0
src/main/java/com/zx/dataservice/mapper1/ChoiceStockMapper.java

@@ -13,6 +13,8 @@ public interface ChoiceStockMapper {
 
     void insertBatch(@Param("list") List<StockRestPojo> stockRestPojoList);
 
+    void insertBatchByAfter(@Param("list") List<StockRestPojo> stockRestPojoList);
+
     void insertRt(@Param("info")StockRestPojo stockRestPojo, @Param("tableName") String tableName);
 
     StockRestPojo selectRtLimitOne(@Param("tableName") String tableName);

+ 2 - 0
src/main/java/com/zx/dataservice/mapper2/ChoiceBondMapper.java

@@ -14,6 +14,8 @@ public interface ChoiceBondMapper {
 
     void insertBatch(@Param("list") List<StockRestPojo> stockRestPojoList);
 
+    void insertBatchByAfter(@Param("list") List<StockRestPojo> stockRestPojoList);
+
     StockRestPojo selectRtLimitOne(@Param("tableName") String tableName);
 
     void insertRt(@Param("info")StockRestPojo stockRestPojo, @Param("tableName") String tableName);

+ 1 - 1
src/main/java/com/zx/dataservice/service/ChoiceBondService.java

@@ -2,6 +2,6 @@ package com.zx.dataservice.service;
 
 public interface ChoiceBondService {
 
-    void analysisBondRestData();
+    void analysisBondRestData( String type );
 
 }

+ 1 - 1
src/main/java/com/zx/dataservice/service/ChoiceStockService.java

@@ -5,6 +5,6 @@ public interface ChoiceStockService {
     /**
      * 解析东方财富数据
      */
-    void analysisStockRestData();
+    void analysisStockRestData(String type);
 
 }

+ 1 - 1
src/main/java/com/zx/dataservice/service/ChoiceTempIndexService.java

@@ -4,6 +4,6 @@ public interface ChoiceTempIndexService {
     /**
      * 解析东方财富数据
      */
-    void analysisStockRestData();
+    void analysisStockRestData(String type);
 
 }

+ 32 - 12
src/main/java/com/zx/dataservice/service/impl/ChoiceBondServiceImpl.java

@@ -33,13 +33,17 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
 
     private static final String urlRedis = "http://taifooksec.com/init/redis/updateInfo.do";
 
+    private static final String sourceAfterFileUrl = "D:/www/wwwroot/csqdata/bond/after";
+
+    private static final String goalAfterFileUrl = "D:/www/wwwroot/csqdata/bond/after/backup";
+
     @Autowired
     private ChoiceBondMapper choiceBondMapper;
 
     @Override
-    public void analysisBondRestData() {
+    public void analysisBondRestData(String type) {
         // 1.获取文件夹文件 按照时间顺序拿到一个
-        List<File> files = FileBondUtil.getFile(sourceFileUrl);
+        List<File> files = FileBondUtil.getFile("now".equals(type)?sourceFileUrl:sourceAfterFileUrl);
         if (null == files || 0 == files.size()) {
             return;
         }
@@ -51,9 +55,17 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
         StockRestRedisVO stockRestRedisVO;
         for (File file : files) {
             // 2.移动文件去另外一个文件夹
-            FileBondUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
-            // 3.读取文件内容
-            String str = FileBondUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            String str = "";
+            if("now".equals(type)){
+                FileBondUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
+                // 3.读取文件内容
+                str = FileBondUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            }else if("after".equals(type)){
+                FileBondUtil.moveFile(sourceAfterFileUrl + File.separator + file.getName(), goalAfterFileUrl);
+                // 3.读取文件内容
+                str = FileBondUtil.readFileContent(goalAfterFileUrl + File.separator + file.getName());
+            }
+
             // 4.并解析
             if(StringUtils.isEmpty(str)){
                 continue;
@@ -68,7 +80,7 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                     if(String.valueOf(entry.getValue().get(1)).equals("0")){
                         continue;
                     }
-                    stockRestPojo.setTime(String.valueOf(entry.getValue().get(1)));
+                    stockRestPojo.setTime("now".equals(type)?String.valueOf(entry.getValue().get(1)):"150000");
                     stockRestPojo.setNow(String.valueOf(entry.getValue().get(2)));
                     stockRestPojo.setHigh(String.valueOf(entry.getValue().get(3)));
                     stockRestPojo.setLow(String.valueOf(entry.getValue().get(4)));
@@ -187,16 +199,20 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
             map = null;
         }
         // 5.入库
-        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList);
+        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList ,type );
         stockRestPojoList = null;
     }
 
-    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList) {
+    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList,String type) {
         int insertLength = list.size();
         int i = 0;
         int insertSize = 500;
         while (insertLength > insertSize) {
-            choiceBondMapper.insertBatch(list.subList(i, i + insertSize));
+            if("now".equals(type)){
+                choiceBondMapper.insertBatch(list.subList(i, i + insertSize));
+            }else {
+                choiceBondMapper.insertBatchByAfter(list.subList(i, i + insertSize));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertSize);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertSize);
             i = i + insertSize;
@@ -206,14 +222,18 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                 public void run() {
 //                    HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()){
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                    //    HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
                 }
             });
             thread.start();
         }
         if (insertLength > 0) {
-            choiceBondMapper.insertBatch(list.subList(i, i + insertLength));
+            if("now".equals(type)){
+                choiceBondMapper.insertBatch(list.subList(i, i + insertLength));
+            }else {
+                choiceBondMapper.insertBatchByAfter(list.subList(i, i + insertLength));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertLength);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertLength);
             Thread thread=new Thread(new Runnable() {
@@ -221,7 +241,7 @@ public class ChoiceBondServiceImpl implements ChoiceBondService {
                 public void run() {
 //                    HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()) {
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                     //   HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
                 }
             });

+ 32 - 12
src/main/java/com/zx/dataservice/service/impl/ChoiceStockServiceImpl.java

@@ -35,13 +35,17 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
 
     private static final String urlRedis = "http://taifooksec.com/init/redis/updateInfo.do";
 
+    private static final String sourceAfterFileUrl = "D:/www/wwwroot/csqdata/stock/after";
+
+    private static final String goalAfterFileUrl = "D:/www/wwwroot/csqdata/stock/after/backup";
+
     @Autowired
     private ChoiceStockMapper choiceStockMapper;
 
     @Override
-    public void analysisStockRestData() {
+    public void analysisStockRestData(String type) {
         // 1.获取文件夹文件 按照时间顺序拿到一个
-        List<File> files = FileStockUtil.getFile(sourceFileUrl);
+        List<File> files = FileStockUtil.getFile("now".equals(type)?sourceFileUrl:sourceAfterFileUrl);
         if(null == files || 0 == files.size()){
             return;
         }
@@ -53,9 +57,16 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
         StockRestRedisVO stockRestRedisVO;
         for (File file : files){
             // 2.移动文件去另外一个文件夹
-            FileStockUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
-            // 3.读取文件内容
-            String str = FileStockUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            String str = "";
+            if("now".equals(type)){
+                FileStockUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
+                // 3.读取文件内容
+                 str = FileStockUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            }else if("after".equals(type)){
+                FileStockUtil.moveFile(sourceAfterFileUrl + File.separator + file.getName(), goalAfterFileUrl);
+                // 3.读取文件内容
+                str = FileStockUtil.readFileContent(goalAfterFileUrl + File.separator + file.getName());
+            }
             // 4.并解析
             if(StringUtils.isEmpty(str)){
                 continue;
@@ -70,7 +81,7 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
                     if(String.valueOf(entry.getValue().get(1)).equals("0")){
                         continue;
                     }
-                    stockRestPojo.setTime(String.valueOf(entry.getValue().get(1)));
+                    stockRestPojo.setTime("now".equals(type)?String.valueOf(entry.getValue().get(1)):"150000");
                     stockRestPojo.setNow(String.valueOf(entry.getValue().get(2)));
                     stockRestPojo.setHigh(String.valueOf(entry.getValue().get(3)));
                     stockRestPojo.setLow(String.valueOf(entry.getValue().get(4)));
@@ -188,16 +199,21 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
             map = null;
         }
         // 5.入库
-        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList);
+        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList,type);
         stockRestPojoList = null;
     }
 
-    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList) {
+
+    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList,String type) {
         int insertLength = list.size();
         int i = 0;
         int insertSize = 500;
         while (insertLength > insertSize) {
-            choiceStockMapper.insertBatch(list.subList(i, i + insertSize));
+            if("now".equals(type)){
+                choiceStockMapper.insertBatch(list.subList(i, i + insertSize));
+            }else {
+                choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertSize));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertSize);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertSize);
             i = i + insertSize;
@@ -207,7 +223,7 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
                 public void run() {
 //                    HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()){
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                     //   HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
 
                 }
@@ -215,7 +231,11 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
             thread.start();
         }
         if (insertLength > 0) {
-            choiceStockMapper.insertBatch(list.subList(i, i + insertLength));
+            if("now".equals(type)){
+                choiceStockMapper.insertBatch(list.subList(i, i + insertLength));
+            }else {
+                choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertLength));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertLength);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertLength);
             Thread thread=new Thread(new Runnable() {
@@ -223,7 +243,7 @@ public class ChoiceStockServiceImpl implements ChoiceStockService {
                 public void run() {
 //                   HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()){
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                    //    HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
                 }
             });

+ 34 - 12
src/main/java/com/zx/dataservice/service/impl/ChoiceTempIndexServiceImpl.java

@@ -33,13 +33,17 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
 
     private static final String urlRedis = "http://taifooksec.com/init/redis/updateInfo.do";
 
+    private static final String sourceAfterFileUrl = "D:/www/wwwroot/csqdata/tempindex/after";
+
+    private static final String goalAfterFileUrl = "D:/www/wwwroot/csqdata/tempindex/after/backup";
+
     @Autowired
     private ChoiceStockMapper choiceStockMapper;
 
     @Override
-    public void analysisStockRestData() {
+    public void analysisStockRestData(String    type) {
         // 1.获取文件夹文件 按照时间顺序拿到一个
-        List<File> files = FileTempIndexUtil.getFile(sourceFileUrl);
+        List<File> files = FileTempIndexUtil.getFile("now".equals(type)?sourceFileUrl:sourceAfterFileUrl);
         if(null == files || 0 == files.size()){
             return;
         }
@@ -51,9 +55,17 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
         StockRestRedisVO stockRestRedisVO;
         for (File file : files){
             // 2.移动文件去另外一个文件夹
-            FileTempIndexUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
-            // 3.读取文件内容
-            String str = FileTempIndexUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            String str = "";
+            if("now".equals(type)){
+                FileTempIndexUtil.moveFile(sourceFileUrl + File.separator + file.getName(), goalFileUrl);
+                // 3.读取文件内容
+                 str = FileTempIndexUtil.readFileContent(goalFileUrl + File.separator + file.getName());
+            }else if("after".equals(type)){
+                FileTempIndexUtil.moveFile(sourceAfterFileUrl + File.separator + file.getName(), goalAfterFileUrl);
+                // 3.读取文件内容
+                str = FileTempIndexUtil.readFileContent(goalAfterFileUrl + File.separator + file.getName());
+            }
+
             // 4.并解析
             if(StringUtils.isEmpty(str)){
                 continue;
@@ -68,7 +80,7 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                     if(String.valueOf(entry.getValue().get(1)).equals("0")){
                         continue;
                     }
-                    stockRestPojo.setTime(String.valueOf(entry.getValue().get(1)));
+                    stockRestPojo.setTime("now".equals(type)?String.valueOf(entry.getValue().get(1)):"150000");
                     stockRestPojo.setNow(String.valueOf(entry.getValue().get(2)));
                     stockRestPojo.setHigh(String.valueOf(entry.getValue().get(3)));
                     stockRestPojo.setLow(String.valueOf(entry.getValue().get(4)));
@@ -186,16 +198,22 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
             map = null;
         }
         // 5.入库
-        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList);
+        insertList(stockRestPojoList, stockRestVOList, stockRestRedisVOList,type);
         stockRestPojoList = null;
     }
 
-    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList) {
+
+
+    private void insertList(List<StockRestPojo> list, List<StockRestVO> stockRestVOList, List<StockRestRedisVO> stockRestRedisVOList,String type) {
         int insertLength = list.size();
         int i = 0;
         int insertSize = 500;
         while (insertLength > insertSize) {
-            choiceStockMapper.insertBatch(list.subList(i, i + insertSize));
+            if("now".equals(type)){
+                choiceStockMapper.insertBatch(list.subList(i, i + insertSize));
+            }else {
+                choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertSize));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertSize);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertSize);
             i = i + insertSize;
@@ -205,14 +223,18 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                 public void run() {
 //                    HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()) {
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                     //   HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
                 }
             });
             thread.start();
         }
         if (insertLength > 0) {
-            choiceStockMapper.insertBatch(list.subList(i, i + insertLength));
+            if("now".equals(type)){
+                choiceStockMapper.insertBatch(list.subList(i, i + insertLength));
+            }else {
+                choiceStockMapper.insertBatchByAfter(list.subList(i, i + insertLength));
+            }
             List<StockRestVO> subList = stockRestVOList.subList(i, i + insertLength);
             List<StockRestRedisVO> subRedisList = stockRestRedisVOList.subList(i, i + insertLength);
             Thread thread=new Thread(new Runnable() {
@@ -220,7 +242,7 @@ public class ChoiceTempIndexServiceImpl implements ChoiceTempIndexService {
                 public void run() {
 //                    HttpRequest.httpPostWithjson(url, JSON.toJSONString(subList));
                     if(BuyAndSellUtils.isTransState()) {
-                        HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
+                     //   HttpRequest.httpPostWithjson(urlRedis, JSON.toJSONString(subRedisList));
                     }
                 }
             });

+ 10 - 3
src/main/java/com/zx/dataservice/task/AnalysisBondRestDataTask.java

@@ -22,10 +22,17 @@ public class AnalysisBondRestDataTask {
     @Async("executorBond")
     @Scheduled(fixedRate=10)
     public void toAnalysisRestData() {
-        doTask();
+        doTask("now");
     }
 
-    public void doTask() {
-        this.choiceBondService.analysisBondRestData();
+    public void doTask(String type) {
+        this.choiceBondService.analysisBondRestData(type);
     }
+
+    @Async("executorAfterBond")
+    @Scheduled(cron = "1 1/15 15,16,17 * * ? ")
+    public void toAnalysisRestAfterData() {
+        doTask("after");
+    }
+
 }

+ 11 - 3
src/main/java/com/zx/dataservice/task/AnalysisStockRestDataTask.java

@@ -22,10 +22,18 @@ public class AnalysisStockRestDataTask {
     @Async("executorStock")
     @Scheduled(fixedRate=10)
     public void toAnalysisRestData() {
-        doTask();
+        doTask("now");
     }
 
-    public void doTask() {
-        this.choiceStockService.analysisStockRestData();
+    public void doTask(String type) {
+        this.choiceStockService.analysisStockRestData(type);
     }
+
+    @Async("executorAfterStock")
+    @Scheduled(cron = "1 1/15 15,16,17 * * ? ")
+    public void toAnalysisRestAfterData() {
+        doTask("after");
+    }
+
+
 }

+ 12 - 3
src/main/java/com/zx/dataservice/task/AnalysisTempIndexRestDataTask.java

@@ -22,10 +22,19 @@ public class AnalysisTempIndexRestDataTask {
     @Async("executorTempIndex")
     @Scheduled(fixedRate=100)
     public void toAnalysisRestData() {
-        doTask();
+        doTask("now");
     }
 
-    public void doTask() {
-        this.choiceTempIndexService.analysisStockRestData();
+    public void doTask(String type) {
+        this.choiceTempIndexService.analysisStockRestData(type);
     }
+
+    @Async("executorTempAfterIndex")
+    @Scheduled(cron = "1 1/15 15,16,17 * * ? ")
+    public void toAnalysisRestAfterData() {
+        doTask("after");
+    }
+
+
+
 }

+ 37 - 0
src/main/java/com/zx/dataservice/task/TaskConfig.java

@@ -24,6 +24,18 @@ public class TaskConfig {
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         return executor;
     }
+    @Bean("executorAfterStock")
+    public Executor taskSchedulerAfterStock() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        //核心线程数
+        executor.setCorePoolSize(100);
+        //最大核心线程数
+        executor.setMaxPoolSize(200);
+        //队列中等待被调度的任务数
+        executor.setQueueCapacity(20);
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        return executor;
+    }
 
     @Bean("executorBond")
     public Executor taskSchedulerBond() {
@@ -38,6 +50,19 @@ public class TaskConfig {
         return executor;
     }
 
+    @Bean("executorAfterBond")
+    public Executor taskSchedulerAfterBond() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        //核心线程数
+        executor.setCorePoolSize(50);
+        //最大核心线程数
+        executor.setMaxPoolSize(100);
+        //队列中等待被调度的任务数
+        executor.setQueueCapacity(20);
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        return executor;
+    }
+
     @Bean("executorTempIndex")
     public Executor taskSchedulerTempIndex() {
         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
@@ -50,4 +75,16 @@ public class TaskConfig {
         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
         return executor;
     }
+    @Bean("executorTempAfterIndex")
+    public Executor taskSchedulerTempAfterIndex() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        //核心线程数
+        executor.setCorePoolSize(10);
+        //最大核心线程数
+        executor.setMaxPoolSize(20);
+        //队列中等待被调度的任务数
+        executor.setQueueCapacity(10);
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
+        return executor;
+    }
 }

+ 2 - 2
src/main/resources/application-real.properties

@@ -18,13 +18,13 @@ spring.druid.removeAbandonedTimeout=1800
 spring.druid.filters=stat
 
 # 数据源1 股票数据库
-spring.datasource.test1.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data?characterEncoding=utf-8&allowMultiQueries=true
+spring.datasource.test1.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data?characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true
 spring.datasource.test1.username=root
 spring.datasource.test1.password=TestBicon@123
 spring.datasource.test1.driver-class-name=com.mysql.cj.jdbc.Driver
 
 # 数据源2 债券数据库
-spring.datasource.test2.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data_zhaiquan?characterEncoding=utf-8&allowMultiQueries=true
+spring.datasource.test2.jdbc-Url=jdbc:mysql://bj-cdb-1j873yci.sql.tencentcdb.com:61196/stock_data_zhaiquan?characterEncoding=utf-8&serverTimezone=UTC&allowMultiQueries=true
 spring.datasource.test2.username=root
 spring.datasource.test2.password=TestBicon@123
 spring.datasource.test2.driver-class-name=com.mysql.cj.jdbc.Driver

Plik diff jest za duży
+ 65 - 1
src/main/resources/mybatis/mapper1/ChoiceStockMapper.xml


Plik diff jest za duży
+ 65 - 1
src/main/resources/mybatis/mapper2/ChoiceBondMapper.xml