From 5880c05eaaaf5350cd4a69afeaf197e4aea70156 Mon Sep 17 00:00:00 2001
From: zyy3 <zyy3@zy.com>
Date: Thu, 06 Nov 2025 23:58:52 +0800
Subject: [PATCH] 1

---
 trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java b/trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java
index 7a8e13f..78189cd 100644
--- a/trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java
@@ -979,25 +979,28 @@
             Gson gson = new Gson();
             List<kData> dataList = gson.fromJson(object.toString(), new TypeToken<List<kData>>(){}.getType());
             logger.info("{}获取{}条K线" , item.getSymbol() ,dataList.size());
-            Realtime realtime = DataCache.getRealtime(item.getSymbol());
-            // 修改 List 中的最后一条数据
-            kData lastData = dataList.get(dataList.size() - 1);
-            lastData.setC(String.valueOf(realtime.getClose()));
-            lastData.setO(String.valueOf(realtime.getOpen()));
-            lastData.setH(String.valueOf(realtime.getHigh()));
-            lastData.setL(String.valueOf(realtime.getLow()));
-
             List<Kline> list = new ArrayList<>();
-            for (int i = 0; i < dataList.size(); i++) {
-                kData kData = dataList.get(i);
-                Kline kline = new Kline();
-                kline.setTs(Long.valueOf(kData.getT() + "000"));
-                kline.setClose(Double.valueOf(kData.getC()));
-                kline.setOpen(Double.valueOf(kData.getO()));
-                kline.setHigh(Double.valueOf(kData.getH()));
-                kline.setLow(Double.valueOf(kData.getL()));
-                list.add(kline);
+            if (!dataList.isEmpty() && dataList.size() > 0) {
+                Realtime realtime = DataCache.getRealtime(item.getSymbol());
+                // 修改 List 中的最后一条数据
+                kData lastData = dataList.get(dataList.size() - 1);
+                lastData.setC(String.valueOf(realtime.getClose()));
+                lastData.setO(String.valueOf(realtime.getOpen()));
+                lastData.setH(String.valueOf(realtime.getHigh()));
+                lastData.setL(String.valueOf(realtime.getLow()));
+
+                for (int i = 0; i < dataList.size(); i++) {
+                    kData kData = dataList.get(i);
+                    Kline kline = new Kline();
+                    kline.setTs(Long.valueOf(kData.getT() + "000"));
+                    kline.setClose(Double.valueOf(kData.getC()));
+                    kline.setOpen(Double.valueOf(kData.getO()));
+                    kline.setHigh(Double.valueOf(kData.getH()));
+                    kline.setLow(Double.valueOf(kData.getL()));
+                    list.add(kline);
+                }
             }
+
             return list;
         } catch (Exception e) {
             logger.error("getKData error", e);

--
Gitblit v1.9.3