From 4affbdf8938d321c0926bc2b1832dfc81c317ffa Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 08 Jan 2026 18:49:30 +0800
Subject: [PATCH] ipo

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
index e9e33e8..75e8321 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/KlineController.java
@@ -8,6 +8,7 @@
 import com.yami.trading.common.web.ResultObject;
 import com.yami.trading.huobi.constants.KlinePeriodEnum;
 import com.yami.trading.huobi.data.TimeZoneConverterService;
+import com.yami.trading.huobi.data.internal.KlineService;
 import com.yami.trading.huobi.tradingview.service.TradingViewService;
 import com.yami.trading.service.data.DataService;
 import com.yami.trading.service.item.ItemService;
@@ -50,6 +51,9 @@
     @Autowired
     RedisTemplate redisTemplate;
 
+    @Autowired
+    KlineService klineService;
+
 
     @ApiOperation(value = "行情")
     @GetMapping("/api/hobi!getKline.action")
@@ -62,13 +66,26 @@
             // Fetch item details based on symbol
             Item bySymbol = itemService.findBySymbol(symbol);
 
+            List<Kline> data;
             // Handle non-cryptos separately
             if (!Item.cryptos.equals(bySymbol.getType())) {
-                return getKlineForNonCryptos(bySymbol, line, symbol);
+                if (bySymbol.getType().equalsIgnoreCase(Item.US_STOCKS)) {
+                    data = klineService.getKData(bySymbol, line);
+                    if (!data.isEmpty()) {
+                        System.out.println(data.size());
+                        formatKlineTimestamps(data, line);
+                        return Result.succeed(this.build(data, line, symbol));
+                    } else {
+                        return Result.succeed(null);
+                    }
+                } else {
+                    return getKlineForNonCryptos(bySymbol, line, symbol);
+                }
             }
 
+            data = this.dataService.kline(symbol, line);
             // Fetch Kline data from service (for cryptos)
-            List<Kline> data = this.dataService.kline(symbol, line);
+
 
             // Return an empty response if no data is found
             if (Objects.isNull(data)) {
@@ -169,8 +186,12 @@
             case "1week":
             case "quarter":
             case "year":
+            case "d":
+            case "w":
+            case "m":
                 return "yyyy-MM-dd";
             case "1min":
+            case "1":
                 return "HH:mm";
             default:
                 return "MM-dd HH:mm";

--
Gitblit v1.9.3