From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java |   93 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 82 insertions(+), 11 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java
index 2b0ed70..a20823b 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java
@@ -25,6 +25,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.CommandLineRunner;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Component;
 
 import java.util.Collections;
@@ -48,10 +49,10 @@
     protected KlineService klineService;
     @Autowired
     protected HighLowHandleJob highLowHandleJob;
-    @Autowired
-    protected StockGetDataJob stockGetDataJob;
-    @Autowired
-    protected ForexGetDataJob forexGetDataJob;
+//    @Autowired   外汇
+//    protected StockGetDataJob stockGetDataJob;
+//    @Autowired
+//    protected ForexGetDataJob forexGetDataJob;
     @Autowired
     protected CryptosGetDataJob cryptosGetDataJob;
     @Autowired
@@ -77,8 +78,8 @@
     private RealtimePushJob realtimePushJob;
     @Autowired
     private CleanDataJob cleanDataJob;
-    @Autowired
-    private StockGetMarketJob stockGetMarketJob;
+//    @Autowired etf
+//    private StockGetMarketJob stockGetMarketJob;
     /**
      * 交割合约持仓单盈亏计算线程启动
      */
@@ -120,7 +121,10 @@
         for (Item item : items) {
             Realtime realtime = dataDBService.get(item.getSymbol());
             if (realtime != null) {
-                DataCache.putRealtime(item.getSymbol(), realtime);
+                //停牌时不更新
+                //if (!itemService.isSuspended(item.getSymbol())) {
+                    DataCache.putRealtime(item.getSymbol(), realtime);
+                //}
             }
         }
 
@@ -135,10 +139,10 @@
          klineInitService.klineInit(symbols);
         // 高低修正
         highLowHandleJob.start();
-        stockGetMarketJob.start();
-        // 获取realtime实时数据
-        stockGetDataJob.start();
-        forexGetDataJob.start();
+//        stockGetMarketJob.start();
+//        // 获取realtime实时数据
+//        stockGetDataJob.start();
+//        forexGetDataJob.start();
         cryptosGetDataJob.start();
         fakeSymbolGetDataJob.start();
         // 实时数据批量保存线程
@@ -203,6 +207,73 @@
         exchangeApplyOrderHandleJob.start();
     }
 
+    @Async
+    public void init() {
+        log.info("开始Data初始化........");
+        itemService.reloadListAndCache();
+        List<Item> items = itemService.list();
+        for (Item item : items) {
+            AdjustmentValueCache.getCurrentValue().put(item.getSymbol(), item.getAdjustmentValue());
+        }
+
+        for (Item item : items) {
+            Realtime realtime = dataDBService.get(item.getSymbol());
+            if (realtime != null) {
+                //停牌时不更新
+                //if (!itemService.isSuspended(item.getSymbol())) {
+                    DataCache.putRealtime(item.getSymbol(), realtime);
+                //}
+            }
+        }
+
+        for (Item item : items) {
+            List<Realtime> list = this.dataDBService.findRealtimeOneDay(item.getSymbol());
+            DataCache.getRealtimeHistory().put(item.getSymbol(), list);
+        }
+
+        klineLoadCache.loadCache();
+        String symbols = items.stream().map(Item::getSymbol).collect(Collectors.joining(","));
+        // 数据有问题初始化一下
+        klineInitService.klineInit(symbols);
+        // 高低修正
+        highLowHandleJob.start();
+        cryptosGetDataJob.start();
+        fakeSymbolGetDataJob.start();
+        // 实时数据批量保存线程
+        saveRealtimeServer.start();
+
+        // realtime推送JOB
+        realtimePushJob.start();
+        /**
+         * 最化5档和最新成交数据 火币数据线程
+         */
+        dataServer.start();
+        List<Item> item_list = itemService.list().stream().filter(i -> i.getType().equalsIgnoreCase(Item.cryptos)).collect(Collectors.toList());
+
+        for (int i = 0; i < item_list.size(); i++) {
+            Item item = item_list.get(i);
+            HandleObject depth = new HandleObject();
+            depth.setType(HandleObject.type_depth);
+            depth.setItem(item);
+            DataQueue.add(depth);
+
+            HandleObject trade = new HandleObject();
+            trade.setType(HandleObject.type_trade);
+            trade.setItem(item);
+            DataQueue.add(trade);
+        }
+
+        realtimeWebsocketServer.start();
+        realtimePushJob.start();
+        depthPushJob.start();
+        tradePushJob.start();
+
+        dataFrequencyServer.start();
+        cleanDataJob.taskJob();
+        log.info("完成Data初始化。");
+    }
+
+
 
     public void bulidInit(Item item, String line) {
         List<Kline> list = this.klineService.find(item.getSymbol(), line, Integer.MAX_VALUE);

--
Gitblit v1.9.3