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