Administrator
7 days ago de38155f608f47bd89a58c6790c82bbb4b2c58d8
fix(okxNewPrice): 解决K线数据处理中的数组越界问题

- 添加了对数组元素s[8]的空值检查
- 仅在确认标识为"1"时才处理K线数据
- 避免了潜在的数组越界异常
- 保持了原有的BigDecimal转换逻辑
- 维持了错误处理机制
1 files modified
3 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxKlineWebSocketClient.java
@@ -425,7 +425,9 @@
                    for (String[] s : klinesList) {
                        // 确保数组有足够的元素
                        if (s != null && s.length >= 9) {
                            String s1 = s[8];
                            try {
                                if ("1".equals(s1)){
                                Kline kline = new Kline();
                                kline.setTs(s[0]);
                                kline.setO(new BigDecimal(s[1]));
@@ -435,6 +437,7 @@
                                kline.setVol(new BigDecimal(s[5]));
                                kline.setConfirm(s[8]);
                                klineList.add(kline);
                                }
                            } catch (NumberFormatException e) {
                                log.error("K线数据转换为BigDecimal失败: {}", Arrays.toString(s), e);
                            }