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-admin/src/main/java/com/yami/trading/admin/task/RealtimePushJob.java | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 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 8d21502..ad1bb9c 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
@@ -12,6 +12,7 @@
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.huobi.data.internal.DataDBService;
import com.yami.trading.service.item.ItemService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +31,8 @@
public class RealtimePushJob implements Runnable {
@Autowired
private ItemService itemService;
+ @Autowired
+ DataDBService dataDBService;
public void start() {
new Thread(this, "realtimePushJob").start();
@@ -114,7 +117,7 @@
map.put("timestamp", realtime.getTs());
map.put("current_time", realtime.getCurrentTime());
map.put("name", realtime.getName());
- map.put("change_ratio", realtime.getChangeRatio());
+ map.put("change_ratio", dataDBService.getChangeRatio(realtime, symbol));
map.put("netChange", realtime.getNetChange());
map.put("open", realtime.getOpen());
map.put("close", realtime.getClose());
@@ -124,6 +127,13 @@
BigDecimal currentValue = AdjustmentValueCache.getCurrentValue().get(symbol);
if (currentValue != null) {
map.put("low", realtime.getLow().add(currentValue));
+ }
+ if (currentValue != null) {
+ BigDecimal newLow = realtime.getLow().add(currentValue);
+ if (newLow.compareTo(realtime.getHigh()) > 0) {
+ map.put("high", realtime.getHigh().add(currentValue));
+ }
+ map.put("low", newLow);
}
if( realtime.getVolume() != null){
@@ -172,7 +182,11 @@
BigDecimal low = realtime.getLow();
map.put("low", low != null ? low.setScale(decimal, RoundingMode.HALF_UP) : null);
if (currentValue != null) {
- map.put("low", low != null ? low.add(currentValue).setScale(decimal, RoundingMode.HALF_UP) : null);
+ BigDecimal newLow = low != null ? low.add(currentValue).setScale(decimal, RoundingMode.HALF_UP) : BigDecimal.ZERO;
+ if (newLow.compareTo(high) > 0) {
+ map.put("high", high.add(currentValue).setScale(decimal, RoundingMode.HALF_UP));
+ }
+ map.put("low", newLow);
}
}
--
Gitblit v1.9.3