From 01830e44921b187b448d8cce9c9a46b9ad55af43 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Fri, 02 May 2025 19:48:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/bingx' into bingx

---
 src/main/java/project/web/api/RealtimeController.java |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/main/java/project/web/api/RealtimeController.java b/src/main/java/project/web/api/RealtimeController.java
index f976152..5530d9e 100644
--- a/src/main/java/project/web/api/RealtimeController.java
+++ b/src/main/java/project/web/api/RealtimeController.java
@@ -2,11 +2,10 @@
 
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -69,8 +68,7 @@
 					realtime.setOrder(order);
 					list_clone.add(realtime);
 				}
-				Collections.sort(list_clone);
-				data = list_clone;
+				data = list_clone.stream().sorted(Comparator.comparing(Realtime::getClose).reversed()).collect(Collectors.toList());
 			}
 			resultObject.setData(this.revise(data));
 			return JSONObject.toJSONString(resultObject);
@@ -86,14 +84,19 @@
 		}
 	}
 
-	private List<Map<String, Object>> revise(List<Realtime> data) {
+	private List<Map<String, Object>> revise(List<Realtime> data) throws ParseException {
 		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
 		for (int i = 0; i < data.size(); i++) {
 			Realtime realtime = data.get(i);
 			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());
+			String currentTime = realtime.getCurrent_time();
+			// 设置时区为纽约的冬令时(Eastern Standard Time, EST)
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+			sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
+			Date parsedDate = sdf.parse(currentTime);
+			map.put("current_time",sdf.format(parsedDate));
 			map.put("name", realtime.getName());
 			map.put("change_ratio", realtime.getChange_ratio());
 			Item item = this.itemService.cacheBySymbol(realtime.getSymbol(), true);

--
Gitblit v1.9.3