peter
2025-08-18 c50561d007e420f7397f73afce8966231973ec54
trading-order-huobi/src/main/java/com.yami.trading.huobi/data/internal/KlineServiceImpl.java
@@ -59,16 +59,16 @@
        for (int i = 0; i <= Constants.TABLE_PARTITIONS - 1; i++) {
            namedParameterJdbcTemplate.update("DELETE FROM t_kline_" + i + " WHERE SYMBOL = :symbol", parameters);
        }
        for (String line : dailyWeekMonthHistoryMap.keySet()) {
            List<Kline> list = dailyWeekMonthHistoryMap.get(line);
            klineDBService.saveOrUpdateBatch(list);
            KlineTimeObject klineTimeObject = new KlineTimeObject();
            Collections.sort(list);
            klineTimeObject.setKline(list);
            klineTimeObject.setLastTime(new Date());
            DataCache.putKline(symbol, line, klineTimeObject);
        }
//        for (String line : dailyWeekMonthHistoryMap.keySet()) {
//            List<Kline> list = dailyWeekMonthHistoryMap.get(line);
//            klineDBService.saveOrUpdateBatch(list);
//
//            KlineTimeObject klineTimeObject = new KlineTimeObject();
//            Collections.sort(list);
//            klineTimeObject.setKline(list);
//            klineTimeObject.setLastTime(new Date());
//            DataCache.putKline(symbol, line, klineTimeObject);
//        }
        for (String line : hourlyAndMinuteHistoryMap.keySet()) {
            List<Kline> list = hourlyAndMinuteHistoryMap.get(line);
@@ -422,6 +422,7 @@
     * @param line
     * @return
     */
    @Override
    public Kline getLast(String symbol, String line) {
        KlineTimeObject timeObject = DataCache.getKline(symbol, line);
        List<Kline> kline = timeObject.getKline();
@@ -437,6 +438,22 @@
        return latestKilne;
    }
    @Override
    public Kline getLastTow(String symbol, String line) {
        KlineTimeObject timeObject = DataCache.getKline(symbol, line);
        List<Kline> kline = timeObject.getKline();
        Item item = itemService.findBySymbol(symbol);
        Kline latestKilne = null;
        if (null == kline || kline.size() <= 0) {
            if (item.getFake().equalsIgnoreCase("0")) {
                return null;
            }
        } else {
            latestKilne = kline.get(kline.size() - 2);
        }
        return latestKilne;
    }
    /**
     * 构建30分钟Kline数据
     */