fix(gateApi): 修复网格交易服务中的订单更新处理逻辑
- 在longGridElement和shortGridElement的相关方法中重新启用longEntryTraderIdParam调用
- 移除OrdersChannelHandler中被注释掉的订单更新日志记录和处理逻辑
- 确保订单状态更新时正确触发网格交易服务的回调处理
- 修复因条件判断导致的订单参数传递缺失问题
- 恢复WebSocket订单通道的正常处理流程
| | |
| | | null, |
| | | false |
| | | ); |
| | | longEntryTraderIdParam( |
| | | byLongTakeProfitOrderId, |
| | | null, |
| | | false |
| | | ); |
| | | // longEntryTraderIdParam( |
| | | // byLongTakeProfitOrderId, |
| | | // null, |
| | | // false |
| | | // ); |
| | | } |
| | | GridElement byShortTakeProfitOrderId = GridElement.findByShortTakeProfitOrderId(orderId); |
| | | if (byShortTakeProfitOrderId != null){ |
| | |
| | | null, |
| | | false |
| | | ); |
| | | shortEntryTraderIdParam( |
| | | byShortTakeProfitOrderId, |
| | | null, |
| | | false |
| | | ); |
| | | // shortEntryTraderIdParam( |
| | | // byShortTakeProfitOrderId, |
| | | // null, |
| | | // false |
| | | // ); |
| | | } |
| | | |
| | | /** |
| | |
| | | GridElement longGridElement = GridElement.findByLongOrderId(orderId); |
| | | if (longGridElement != null) { |
| | | if (longGridElement.isHasLongOrder()){ |
| | | longEntryTraderIdParam( |
| | | longGridElement, |
| | | null, |
| | | false |
| | | ); |
| | | if (longGridElement.getLongTakeProfitOrderId() == null){ |
| | | BigDecimal longTp = longGridElement.getLongTraderParam().getTakeProfitPrice(); |
| | | if (longTp != null) { |
| | |
| | | GridElement shortGridElement = GridElement.findByShortOrderId(orderId); |
| | | if (shortGridElement != null) { |
| | | if (shortGridElement.isHasShortOrder()){ |
| | | shortEntryTraderIdParam( |
| | | shortGridElement, |
| | | null, |
| | | false |
| | | ); |
| | | if (shortGridElement.getShortTakeProfitOrderId() == null){ |
| | | BigDecimal shortTp = shortGridElement.getShortTraderParam().getTakeProfitPrice(); |
| | | if (shortTp != null) { |
| | |
| | | GridElement longGridElement = GridElement.findByLongOrderId(orderId); |
| | | if (longGridElement != null) { |
| | | if (longGridElement.isHasLongOrder() && !tradeId.equals("0")){ |
| | | longEntryTraderIdParam( |
| | | longGridElement, |
| | | null, |
| | | false |
| | | ); |
| | | if (longGridElement.getLongTakeProfitOrderId() == null){ |
| | | BigDecimal longTp = longGridElement.getLongTraderParam().getTakeProfitPrice(); |
| | | if (longTp != null) { |
| | |
| | | GridElement shortGridElement = GridElement.findByShortOrderId(orderId); |
| | | if (shortGridElement != null) { |
| | | if (shortGridElement.isHasShortOrder() && !tradeId.equals("0")){ |
| | | shortEntryTraderIdParam( |
| | | shortGridElement, |
| | | null, |
| | | false |
| | | ); |
| | | if (shortGridElement.getShortTakeProfitOrderId() == null){ |
| | | BigDecimal shortTp = shortGridElement.getShortTraderParam().getTakeProfitPrice(); |
| | | if (shortTp != null) { |
| | |
| | | String status = order.getString("status"); |
| | | String finishAs = order.getString("finish_as"); |
| | | String updateId = order.getString("update_id"); |
| | | // log.info("[{}] 订单更新, id:{}, status:{}, finish_as:{}, price:{}, size:{},update_id:{}", |
| | | // CHANNEL_NAME, orderId, status, finishAs, |
| | | // order.get("price"), order.get("size"),updateId); |
| | | // if (getGridTradeService() != null) { |
| | | // getGridTradeService().onOrderUpdate(orderId, status, finishAs); |
| | | // } |
| | | log.info("[{}] 订单更新, id:{}, status:{}, finish_as:{}, price:{}, size:{},update_id:{}", |
| | | CHANNEL_NAME, orderId, status, finishAs, |
| | | order.get("price"), order.get("size"),updateId); |
| | | if (getGridTradeService() != null) { |
| | | getGridTradeService().onOrderUpdate(orderId, status, finishAs); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("[{}] 处理数据失败", CHANNEL_NAME, e); |