feat(okx): 处理下单推送结果并更新持仓数据
- 在 OkxQuantWebSocketClient 中增加对下单推送结果的处理逻辑
- 根据推送数据中的操作类型判断是否为下单事件
- 当接收到下单推送时,记录日志并提前返回,避免后续处理
- 在 TradeOrderWs 中根据订单方向更新本地持仓映射表
- 增加对买入订单数量的解析,并将其存入持仓映射中
| | |
| | | * @param response 包含价格数据的 JSON 对象 |
| | | */ |
| | | private void processPushData(JSONObject response) { |
| | | String op = response.getString("op"); |
| | | if (op != null){ |
| | | if (TradeOrderWs.ORDERWS_CHANNEL.equals(op)) { |
| | | log.info("收到下单推动结果: {}", response.getJSONObject("data")); |
| | | return ; |
| | | } |
| | | } |
| | | JSONObject arg = response.getJSONObject("arg"); |
| | | if (arg == null) { |
| | | log.warn("无效的推送数据,缺少 'arg' 字段 :{}",response); |
| | |
| | | WsMapBuild.saveBigDecimalToMap(PositionsWs.POSITIONSWSMAP, "pos", BigDecimal.ZERO); |
| | | } |
| | | |
| | | if (OrderParamEnums.BUY.getValue().equals(side)){ |
| | | WsMapBuild.saveBigDecimalToMap(PositionsWs.POSITIONSWSMAP, "pos", new BigDecimal(buyCnt)); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | log.error("下单构建失败", e); |