From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/RealtimeController.java |   34 ++++++++++++----------------------
 1 files changed, 12 insertions(+), 22 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 db84229..c2a70a8 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;
@@ -30,6 +31,7 @@
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 
@@ -49,6 +51,8 @@
 	private DataService dataService;
 	@Autowired
 	private ItemService itemService;
+	@Autowired
+	DataDBService dataDBService;
 
 	@ApiOperation(value = "行情")
 	@GetMapping(HOBI + "getRealtime.action")
@@ -81,30 +85,16 @@
 					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()));
+				d.setSort(Integer.parseInt(bySymbol.getSorted()));
 			});
 
-			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);
+			data.sort(Comparator.comparing(Realtime::getSort).reversed());
+			return Result.ok(data);
 		} catch (Exception e) {
 			log.error("c", e);
 			throw  new YamiShopBindException("生成实时数据失败");

--
Gitblit v1.9.3