From e84b3c45f7ecef39926b582b10d03b30ff77ee95 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 28 Oct 2025 16:36:56 +0800
Subject: [PATCH] 最高最低值优化

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

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 b85db7a..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
@@ -12,6 +12,7 @@
 import com.yami.trading.common.util.StringUtils;
 import com.yami.trading.common.web.ResultObject;
 import com.yami.trading.huobi.data.DataCache;
+import com.yami.trading.huobi.data.internal.DataDBService;
 import com.yami.trading.service.data.DataService;
 import com.yami.trading.service.item.ItemService;
 import io.swagger.annotations.Api;
@@ -29,6 +30,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;
 
@@ -48,6 +50,8 @@
 	private DataService dataService;
 	@Autowired
 	private ItemService itemService;
+	@Autowired
+	DataDBService dataDBService;
 
 	@ApiOperation(value = "行情")
 	@GetMapping(HOBI + "getRealtime.action")
@@ -80,11 +84,37 @@
 					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()));
 			});
-			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("生成实时数据失败", e);
+			log.error("c", e);
 			throw  new YamiShopBindException("生成实时数据失败");
 		}
 	}

--
Gitblit v1.9.3