From fc68aa452e2fd56441128d1d5a4b32f254c6191d Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Sun, 05 Oct 2025 00:45:32 +0800
Subject: [PATCH] 修改地址
---
src/main/java/project/web/api/RealtimeController.java | 38 +++++++++++++++++++++++++++++++++++---
1 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/src/main/java/project/web/api/RealtimeController.java b/src/main/java/project/web/api/RealtimeController.java
index 1eb5cc2..b0bf725 100644
--- a/src/main/java/project/web/api/RealtimeController.java
+++ b/src/main/java/project/web/api/RealtimeController.java
@@ -2,6 +2,12 @@
import java.math.RoundingMode;
import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@@ -66,8 +72,17 @@
realtime.setOrder(order);
list_clone.add(realtime);
}
- data = list_clone.stream().sorted(Comparator.comparing(Realtime::getClose).reversed()).collect(Collectors.toList());
+// data = list_clone.stream().sorted(Comparator.comparing(Realtime::getClose).reversed()).collect(Collectors.toList());
+ // 自定义比较器,确保 BTC 排在第一,ETH 排在第二
+
}
+ data.sort((r1, r2) -> {
+ if (r1.getSymbol().equals("btc")) return -1; // BTC 应该排在第一
+ if (r2.getSymbol().equals("btc")) return 1;
+ if (r1.getSymbol().equals("eth")) return -1; // ETH 应该排在第二
+ if (r2.getSymbol().equals("eth")) return 1;
+ return 0; // 如果都不是 BTC 或 ETH,则保持原始顺序
+ });
resultObject.setData(this.revise(data));
return JSONObject.toJSONString(resultObject);
} catch (BusinessException e) {
@@ -89,8 +104,25 @@
Map<String, Object> map = new HashMap<String, Object>();
map.put("symbol", realtime.getSymbol());
map.put("ts", realtime.getTs());
- map.put("current_time", realtime.getCurrent_time());
- map.put("name", realtime.getName());
+ String currentTime = realtime.getCurrent_time(); // "yyyy-MM-dd HH:mm:ss"
+
+ // 1. 解析原始时间(假设是 UTC 时间)
+ DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ LocalDateTime localDateTime = LocalDateTime.parse(currentTime, inputFormatter);
+
+ // 2. 转换为柏林时区的时间
+ ZoneId berlinZone = ZoneId.of("Europe/Berlin");
+ ZonedDateTime utcTime = localDateTime.atZone(ZoneOffset.UTC); // 假设原时间是 UTC
+ ZonedDateTime berlinTime = utcTime.withZoneSameInstant(berlinZone);
+
+ // 3. 格式化为字符串
+ DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ String formattedTime = berlinTime.format(outputFormatter);
+
+ map.put("current_time", formattedTime);
+
+ Item item1 = this.itemService.cacheBySymbol(realtime.getSymbol(), false);
+ map.put("name", item1.getName());
map.put("change_ratio", realtime.getChange_ratio());
Item item = this.itemService.cacheBySymbol(realtime.getSymbol(), true);
if (item.getDecimals() == null || item.getDecimals() < 0) {
--
Gitblit v1.9.3