From d7e9b4476ca18fa656dbd60d20b7ef15d30a750b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 25 Sep 2025 17:32:49 +0800
Subject: [PATCH] 1

---
 trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java |   75 ++++++++++++++++++++-----------------
 1 files changed, 40 insertions(+), 35 deletions(-)

diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
index 51cde5f..32d54f5 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
@@ -203,6 +203,7 @@
                         kline.setHigh(realtimeJson.getBigDecimal("high"));
                         kline.setLow(realtimeJson.getBigDecimal("low"));
                         kline.setVolume(realtimeJson.getBigDecimal("vol"));
+                        kline.setAmount(realtimeJson.getBigDecimal("amount"));
                         list.add(kline);
                     }
 
@@ -229,36 +230,38 @@
         if ((depth == null || item.getAdjustmentValue() == null || item.getAdjustmentValue().intValue() == 0) && (item.getMultiple().intValue() == 0 || item.getMultiple().intValue() == 1)) {
             return depth;
         }
+        if(CollectionUtil.isNotEmpty(depth.getAsks()) ){
+            List<DepthEntry> asks = depth.getAsks();
+            for (int i = 0; i < asks.size(); i++) {
+                DepthEntry depthEntry = asks.get(i);
 
-        List<DepthEntry> asks = depth.getAsks();
-        for (int i = 0; i < asks.size(); i++) {
-            DepthEntry depthEntry = asks.get(i);
-
-            /**
-             * 调整交易量倍数和 行情值
-             */
-            if (item.getMultiple().doubleValue() > 0) {
-                depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
-            } else {
-                depthEntry.setAmount(depthEntry.getAmount());
+                /**
+                 * 调整交易量倍数和 行情值
+                 */
+                if (item.getMultiple().doubleValue() > 0) {
+                    depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
+                } else {
+                    depthEntry.setAmount(depthEntry.getAmount());
+                }
+                depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
             }
-            depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
         }
 
-        List<DepthEntry> bids = depth.getBids();
-        for (int i = 0; i < bids.size(); i++) {
-            DepthEntry depthEntry = bids.get(i);
-            /**
-             * 调整交易量倍数和 行情值
-             */
-            if (item.getMultiple().doubleValue() > 0) {
-                depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
-            } else {
-                depthEntry.setAmount(depthEntry.getAmount());
+        if(CollectionUtil.isNotEmpty(depth.getBids())){
+            List<DepthEntry> bids = depth.getBids();
+            for (int i = 0; i < bids.size(); i++) {
+                DepthEntry depthEntry = bids.get(i);
+                /**
+                 * 调整交易量倍数和 行情值
+                 */
+                if (item.getMultiple().doubleValue() > 0) {
+                    depthEntry.setAmount(Arith.mul(depthEntry.getAmount(), item.getMultiple().doubleValue()));
+                } else {
+                    depthEntry.setAmount(depthEntry.getAmount());
+                }
+                depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
             }
-            depthEntry.setPrice(Arith.add(depthEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
         }
-
         return depth;
     }
 
@@ -372,19 +375,21 @@
         if ((trade == null || item.getAdjustmentValue() == null || item.getAdjustmentValue().doubleValue() == 0) && (item.getMultiple().doubleValue() == 0 || item.getMultiple().doubleValue() == 1)) {
             return trade;
         }
-        List<TradeEntry> data = trade.getData();
-        for (int i = 0; i < data.size(); i++) {
-            TradeEntry tradeEntry = data.get(i);
+        if(CollectionUtil.isNotEmpty(trade.getData())){
+            List<TradeEntry> data = trade.getData();
+            for (int i = 0; i < data.size(); i++) {
+                TradeEntry tradeEntry = data.get(i);
 
-            /**
-             * 调整交易量倍数和 行情值
-             */
-            if (item.getMultiple().doubleValue() > 0) {
-                tradeEntry.setAmount(Arith.mul(tradeEntry.getAmount(), item.getMultiple().doubleValue()));
-            } else {
-                tradeEntry.setAmount(tradeEntry.getAmount());
+                /**
+                 * 调整交易量倍数和 行情值
+                 */
+                if (item.getMultiple().doubleValue() > 0) {
+                    tradeEntry.setAmount(Arith.mul(tradeEntry.getAmount(), item.getMultiple().doubleValue()));
+                } else {
+                    tradeEntry.setAmount(tradeEntry.getAmount());
+                }
+                tradeEntry.setPrice(Arith.add(tradeEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
             }
-            tradeEntry.setPrice(Arith.add(tradeEntry.getPrice(), item.getAdjustmentValue().doubleValue()));
         }
         return trade;
 

--
Gitblit v1.9.3