From b50449687f292da46b821abc8905310e77bf0577 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Mon, 22 Sep 2025 18:39:07 +0800
Subject: [PATCH] 9.17优化

---
 trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java           |    9 +++++++--
 trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java        |    7 +++++++
 trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java |   26 ++++++++++++++++++++++++--
 3 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java
index d76ee20..e6a89f1 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java
@@ -10,6 +10,7 @@
 import com.yami.trading.common.util.MarketOpenChecker;
 import com.yami.trading.common.util.ThreadUtils;
 import com.yami.trading.common.web.ResultObject;
+import com.yami.trading.huobi.data.AdjustmentValueCache;
 import com.yami.trading.huobi.data.DataCache;
 import com.yami.trading.service.item.ItemService;
 import lombok.extern.slf4j.Slf4j;
@@ -119,6 +120,12 @@
         map.put("close", realtime.getClose());
         map.put("high", realtime.getHigh());
         map.put("low", realtime.getLow());
+
+        BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol);
+        if (currentValue != null) {
+            map.put("low", realtime.getLow().add(currentValue));
+        }
+
         if( realtime.getVolume() != null){
             map.put("volume", realtime.getVolume().setScale(2, RoundingMode.HALF_UP));
         }else{
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java
index d92b4e8..9143047 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/TradePushJob.java
@@ -149,8 +149,13 @@
 			tradeEntry_map.put("direction", direction);
 			tradeEntry_map.put("ts", tradeEntry.getTs());
 			tradeEntry_map.put("current_time", tradeEntry.getCurrent_time());
-			
-			double addPriceValue = getRandomValue((int)tradeEntry.getPrice().doubleValue());
+
+			double addPriceValue;
+			if ((int)tradeEntry.getPrice().doubleValue() == 0) {
+				addPriceValue = 0;
+			} else {
+				addPriceValue = getRandomValue((int)tradeEntry.getPrice().doubleValue());
+			}
 			double addAmountValue = getRandomValue((int)tradeEntry.getAmount().doubleValue());
 			
 			double price = Arith.add(tradeEntry.getPrice(), addPriceValue);
diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
index e403aa1..db84229 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java
@@ -29,6 +29,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -80,9 +81,30 @@
 					d.setAmount(d.getAmount().setScale(2, RoundingMode.HALF_UP));
 				}
 				d.setSymbolData(bySymbol.getSymbolData());
-
 			});
-			return Result.ok(data);
+
+			List<Realtime> result = new ArrayList<>();
+			if (!data.isEmpty()) {
+				Realtime realtime = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("btcusdt")).findFirst().orElse(null);
+				if (realtime != null) {
+					result.add(realtime);
+					data.remove(realtime);
+				}
+				Realtime realtime2 = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("ethusdt")).findFirst().orElse(null);
+				if (realtime2 != null) {
+					result.add(realtime2);
+					data.remove(realtime2);
+				}
+				Realtime realtime3 = data.stream().filter(x -> x.getSymbol().equalsIgnoreCase("xrpusdt")).findFirst().orElse(null);
+				if (realtime3 != null) {
+					result.add(realtime3);
+					data.remove(realtime3);
+				}
+				if (!data.isEmpty()) {
+					result.addAll(data);
+				}
+			}
+			return Result.ok(result);
 		} catch (Exception e) {
 			log.error("c", e);
 			throw  new YamiShopBindException("生成实时数据失败");

--
Gitblit v1.9.3