From 19be3926c88d19645f43dd926d00615225f30802 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Fri, 11 Jul 2025 17:36:46 +0800
Subject: [PATCH] 外汇接口调整

---
 trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
index be378df..b820b4b 100644
--- a/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
+++ b/trading-order-huobi/src/main/java/com.yami.trading.huobi/hobi/internal/HobiDataServiceImpl.java
@@ -725,6 +725,7 @@
         return yesterdayLastPrice;
     }
 
+    @Override
     public List<Kline> getTimeseries(String symbol,String period,int periodType){
         List<Kline> resList = new ArrayList<>();
         int klineCount;
@@ -749,6 +750,8 @@
             klineCount = 52 * 5; // 5年的1周K线 (1年52周,5年共260周)
         } else if (KlineConstant.PERIOD_1MON.equals(period)) {
             klineCount = 12 * 5; // 5年的1个月K线,12个月每年,乘以5年 = 60
+        }else if(KlineConstant.PERIOD_ONE.equals(period)){
+            klineCount = 1;
         }else{
             klineCount = 2;
         }
@@ -778,7 +781,8 @@
                 kline.setClose(result.getClose_price());
                 kline.setHigh(result.getHigh_price());
                 kline.setLow(result.getLow_price());
-                kline.setVolume(result.getVolume());
+                kline.setVolume(result.getTurnover());
+                kline.setAmount(result.getVolume());
                 resList.add(kline);
             }
         }
@@ -788,6 +792,28 @@
             logger.error("延时中断: {}", e);
         }
         return resList;
+    }
+
+    @Override
+    public List<Realtime> realtime24HoruData(String symbols, List<Realtime> realtimes) {
+        List<String> strings = Arrays.asList(symbols.split(","));
+        for (int i = 0; i < strings.size(); i++) {
+            List<Kline> dayList = getTimeseries(strings.get(i), KlineConstant.PERIOD_ONE, AllticktradeMadeOptions.dayPeriod);
+            if(dayList.size()>0){
+                Kline kline = dayList.get(0);
+                for (Realtime realtime : realtimes){
+                    if(realtime.getSymbol().equals(strings.get(i))){
+                        int decimal = itemService.getDecimal(realtime.getSymbol());
+                        realtime.setOpen(kline.getOpen().setScale(decimal, RoundingMode.HALF_UP));
+                        realtime.setHigh(kline.getHigh().setScale(decimal, RoundingMode.HALF_UP));
+                        realtime.setLow(kline.getLow().setScale(decimal, RoundingMode.HALF_UP));
+                        realtime.setAmount(kline.getAmount().setScale(decimal, RoundingMode.HALF_UP));
+                        realtime.setVolume(kline.getVolume().setScale(decimal, RoundingMode.HALF_UP));
+                    }
+                }
+            }
+        }
+        return realtimes;
     }
 
     public List<Kline> buildOneDayPeriod(List<AllticktradeResult> list, String currency) {
@@ -1199,7 +1225,7 @@
             HttpResponse response = HttpHelper.getHttpclient().execute(request);
             return HttpHelper.responseProc(response);
         } catch (Exception e) {
-            logger.error("采集外汇k线图失败:{} ", e);
+            logger.error("采集外汇k线图失败:==={} ", symbol);
         }
         return null;
     }

--
Gitblit v1.9.3