ipo
zyy
2025-12-30 d9430c2ed4e2bc3564f4c9057563dd5f5605f28b
trading-order-huobi/src/main/java/com/yami/trading/huobi/data/internal/KlineServiceImpl.java
@@ -979,25 +979,28 @@
            Gson gson = new Gson();
            List<kData> dataList = gson.fromJson(object.toString(), new TypeToken<List<kData>>(){}.getType());
            logger.info("{}获取{}条K线" , item.getSymbol() ,dataList.size());
            Realtime realtime = DataCache.getRealtime(item.getSymbol());
            // 修改 List 中的最后一条数据
            kData lastData = dataList.get(dataList.size() - 1);
            lastData.setC(String.valueOf(realtime.getClose()));
            lastData.setO(String.valueOf(realtime.getOpen()));
            lastData.setH(String.valueOf(realtime.getHigh()));
            lastData.setL(String.valueOf(realtime.getLow()));
            List<Kline> list = new ArrayList<>();
            for (int i = 0; i < dataList.size(); i++) {
                kData kData = dataList.get(i);
                Kline kline = new Kline();
                kline.setTs(Long.valueOf(kData.getT() + "000"));
                kline.setClose(Double.valueOf(kData.getC()));
                kline.setOpen(Double.valueOf(kData.getO()));
                kline.setHigh(Double.valueOf(kData.getH()));
                kline.setLow(Double.valueOf(kData.getL()));
                list.add(kline);
            if (!dataList.isEmpty() && dataList.size() > 0) {
                Realtime realtime = DataCache.getRealtime(item.getSymbol());
                // 修改 List 中的最后一条数据
                kData lastData = dataList.get(dataList.size() - 1);
                lastData.setC(String.valueOf(realtime.getClose()));
                lastData.setO(String.valueOf(realtime.getOpen()));
                lastData.setH(String.valueOf(realtime.getHigh()));
                lastData.setL(String.valueOf(realtime.getLow()));
                for (int i = 0; i < dataList.size(); i++) {
                    kData kData = dataList.get(i);
                    Kline kline = new Kline();
                    kline.setTs(Long.valueOf(kData.getT() + "000"));
                    kline.setClose(Double.valueOf(kData.getC()));
                    kline.setOpen(Double.valueOf(kData.getO()));
                    kline.setHigh(Double.valueOf(kData.getH()));
                    kline.setLow(Double.valueOf(kData.getL()));
                    list.add(kline);
                }
            }
            return list;
        } catch (Exception e) {
            logger.error("getKData error", e);