From cd932d253f4d01a20cd1269d78386dbd2b9e2eb2 Mon Sep 17 00:00:00 2001
From: zyy3 <zyy3@zy.com>
Date: Tue, 07 Oct 2025 21:56:01 +0800
Subject: [PATCH] 涨幅修复
---
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java | 20 ++++++++++++++++++++
trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java | 7 +++++--
trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java | 4 ++++
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java | 4 ++++
4 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java b/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java
index 52c4782..8e798ce 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/task/RealtimeWebsocketServer.java
@@ -143,11 +143,14 @@
realtime.setLow(new BigDecimal(low));
}
- Double h24Before = DataCache.getRealtime24HBeforeOpen().get(symbol);
+ /*ouble h24Before = DataCache.getRealtime24HBeforeOpen().get(symbol);
if (h24Before != null) {
realtime.setOpen(new BigDecimal(h24Before));
- }
+ }*/
+ /*if (realtime.getSymbol().equals("axsusdt")) {
+ System.out.println("axsusdt2" + realtime);
+ }*/
DataCache.putRealtime(symbol, realtime);
// System.out.println(JSONObject.toJSONString(realtime));
}
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 e46f471..9309b23 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
@@ -84,6 +84,10 @@
d.setAmount(d.getAmount().setScale(2, RoundingMode.HALF_UP));
}
d.setSymbolData(bySymbol.getSymbolData());
+ BigDecimal open = DataCache.getLatestOpen(d.getSymbol());
+ if (open != null) {
+ d.setOpen(open);
+ }
d.setChangeRatio(dataDBService.getChangeRatio(d, d.getSymbol()));
});
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java
index 9967bec..39acc33 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/DataCache.java
@@ -8,6 +8,7 @@
import com.yami.trading.huobi.data.internal.TrendTimeObject;
import org.apache.commons.lang3.StringUtils;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -71,6 +72,7 @@
* 最新的实时价格信息缓存 <币种code, RealTime>
*/
public static Map<String, Realtime> latestRealTime = new ConcurrentHashMap<>();
+ public static Map<String, BigDecimal> latestOpen = new ConcurrentHashMap<>();
//股票时区暂存
public static Map<String, StockMarket> realMarketMap = new ConcurrentHashMap<>();
public static void depthToTrade(Depth depth) {
@@ -198,4 +200,22 @@
public static void putLatestRealTime(String symbol, Realtime model) {
latestRealTime.put(symbol, model);
}
+
+ public static void putLatestOpen(String symbol, BigDecimal open) {
+ latestOpen.put(symbol, open);
+ }
+
+ public static BigDecimal getLatestOpen(String symbol) {
+ BigDecimal open = latestOpen.get(symbol);
+ if (open == null) {
+ if (StringUtils.isAllLowerCase(symbol)) {
+ symbol = symbol.toUpperCase();
+ } else if (StringUtils.isAllUpperCase(symbol)) {
+ symbol = symbol.toLowerCase();
+ }
+ return latestOpen.get(symbol);
+ } else {
+ return open;
+ }
+ }
}
diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java
index 35ef3ca..4a33d1e 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/DataDBServiceImpl.java
@@ -57,7 +57,11 @@
if (itemService.isSuspended(symbol)) {
return;
}
+ /*if (realtime.getSymbol().equals("axsusdt")) {
+ System.out.println("axsusdt1" + realtime);
+ }*/
DataCache.putLatestRealTime(symbol, realtime);
+ DataCache.putLatestOpen(symbol, realtime.getOpen());
// 最近60s内实时价格集合
List<Realtime> list = DataCache.latestRealTimeMap_60s.get(symbol);
--
Gitblit v1.9.3