fix(okxNewPrice): 修复订单事件处理中的数据冲突问题
- 修改OkxQuantWebSocketClient中订单事件处理方法,使用无状态的orderZhiYingZhiSunEventNoState方法
- 避免多账号间的数据冲突问题
- 在TradeOrderWs中添加JSONUtil导入用于日志记录
- 更新日志输出格式,添加交易请求参数的JSON序列化输出便于调试
| | |
| | | // 这会导致多账号之间的数据冲突。需要进一步修改这些类的设计,让数据存储与特定账号关联 |
| | | if (OrderInfoWs.ORDERINFOWS_CHANNEL.equals(channel)) { |
| | | TradeRequestParam tradeRequestParam = OrderInfoWs.handleEvent(response, redisUtils, account.name()); |
| | | TradeOrderWs.orderEvent(webSocketClient, tradeRequestParam); |
| | | TradeOrderWs.orderZhiYingZhiSunEventNoState(webSocketClient, tradeRequestParam); |
| | | }else if (AccountWs.ACCOUNTWS_CHANNEL.equals(channel)) { |
| | | AccountWs.handleEvent(response, account.name()); |
| | | } else if (PositionsWs.POSITIONSWS_CHANNEL.equals(channel)) { |
| | |
| | | package com.xcong.excoin.modules.okxNewPrice.okxWs; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.xcong.excoin.modules.okxNewPrice.okxWs.enums.CoinEnums; |
| | |
| | | public static void orderEvent(WebSocketClient webSocketClient, TradeRequestParam tradeRequestParam) { |
| | | |
| | | |
| | | log.info("开始执行TradeOrderWs......"); |
| | | log.info("开始执行TradeOrderWs{}......", JSONUtil.parse(tradeRequestParam)); |
| | | String accountName = tradeRequestParam.getAccountName(); |
| | | String markPx = tradeRequestParam.getMarkPx(); |
| | | String instId = tradeRequestParam.getInstId(); |