From a1c2c8df8c2741fdb4e1d30b1dd70e57133e1cb7 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Wed, 03 Sep 2025 14:51:40 +0800
Subject: [PATCH] 初始化修改

---
 trading-order-admin/src/main/java/com/yami/trading/admin/task/InitHandle.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 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 3e7392f..0222b57 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;
@@ -203,6 +204,70 @@
         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) {
+                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