Administrator
21 hours ago c4d7235172c0d4c451b3bd71d5520e15bf8fde66
src/main/java/com/xcong/excoin/modules/symbols/service/impl/SymbolsServiceImpl.java
@@ -66,42 +66,65 @@
        return client;
    }
//    @Override
//    public void updateSymbolsKine(String time) {
//        synchronized (this) {
//            //更新币币交易K线历史数据
//            for (SymbolEnum symbol : SymbolEnum.values()) {
//                try {
//                    Thread.sleep(500);
//                } catch (InterruptedException e) {
//                    e.printStackTrace();
//                }
//                String[] symbols = symbol.getValue().toLowerCase().split("/");
//                ApiClient client = getClient();
//                KlineResponse kline = client.kline(symbols[0] + symbols[1], time, 1000 + "");
//                if (kline != null) {
//                    if ("ok".equalsIgnoreCase(kline.getStatus())) {
//                        List<Kline> klines = (List<Kline>) kline.data;
//                        List<Candlestick> list = new ArrayList<Candlestick>();
//                        Candlestick candlestick = null;
//                        for (Kline kline1 : klines) {
//                            candlestick = new Candlestick();
//                            candlestick.setAmount(BigDecimal.valueOf(kline1.getAmount()));
//                            candlestick.setClose(BigDecimal.valueOf(kline1.getClose()));
//                            candlestick.setCount(kline1.getCount());
//                            candlestick.setHigh(BigDecimal.valueOf(kline1.getHigh()));
//                            candlestick.setLow(BigDecimal.valueOf(kline1.getLow()));
//                            candlestick.setVolume(BigDecimal.valueOf(kline1.getVol()));
//                            candlestick.setTimestamp(kline1.getId() * 1000);
//                            candlestick.setOpen(BigDecimal.valueOf(kline1.getOpen()));
//                            list.add(candlestick);
//                        }
//
//                        if (klines.size() > 0) {
//                            redisUtils.set("KINE_" + symbol.getValue() + "_" + time, list);
//                        }
//                    }
//                }
//            }
//        }
//    }
    @Override
    public void updateSymbolsKine(String time) {
        synchronized (this) {
            //更新币币交易K线历史数据
            for (SymbolEnum symbol : SymbolEnum.values()) {
                try {
                    Thread.sleep(500);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                String[] symbols = symbol.getValue().toLowerCase().split("/");
                ApiClient client = getClient();
                KlineResponse kline = client.kline(symbols[0] + symbols[1], time, 1000 + "");
                if (kline != null) {
                    if ("ok".equalsIgnoreCase(kline.getStatus())) {
                        List<Kline> klines = (List<Kline>) kline.data;
                        List<Candlestick> list = new ArrayList<Candlestick>();
                        Candlestick candlestick = null;
                        for (Kline kline1 : klines) {
                            candlestick = new Candlestick();
                            candlestick.setAmount(BigDecimal.valueOf(kline1.getAmount()));
                            candlestick.setClose(BigDecimal.valueOf(kline1.getClose()));
                            candlestick.setCount(kline1.getCount());
                            candlestick.setHigh(BigDecimal.valueOf(kline1.getHigh()));
                            candlestick.setLow(BigDecimal.valueOf(kline1.getLow()));
                            candlestick.setVolume(BigDecimal.valueOf(kline1.getVol()));
                            candlestick.setTimestamp(kline1.getId() * 1000);
                            candlestick.setOpen(BigDecimal.valueOf(kline1.getOpen()));
                            list.add(candlestick);
                        }
                        if (klines.size() > 0) {
                            redisUtils.set("KINE_" + symbol.getValue() + "_" + time, list);
                        }
                    }
                }
                String instId = symbols[0] +"-"+ symbols[1];
                instId  = instId.toUpperCase() ;
                String bar = time;
                LinkedHashMap<String, Object> requestParam = new LinkedHashMap<>();
                requestParam.put("instId",instId);
                requestParam.put("bar",bar);
                requestParam.put("limit","300");
                String result = ExchangeLoginService.getInstance(ExchangeInfoEnum.OKX_UAT.name()).lineHistory(requestParam);
                log.info("加载OKX-KLINE,{}", instId);
                JSONObject json = JSON.parseObject(result);
                String data = json.getString("data");
                log.info("加载OKX-KLINE,{}", data);
                redisUtils.set("KINE_" + instId + "_" + time, data);
            }
        }
    }