Administrator
2026-05-21 8f1d18eb53285ee8d935606ba89fbe51e88a0457
fix(grid-trade): 修复网格交易订单更新处理逻辑

- 移除重复的多头入场交易ID参数调用
- 移除重复的空头入场交易ID参数调用
- 注释掉订单通道处理器中的调试日志和订单更新处理逻辑
2 files modified
42 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java 30 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/wsHandler/handler/OrdersChannelHandler.java 12 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -700,11 +700,11 @@
                    null,
                    false
            );
//            longEntryTraderIdParam(
//                    byLongTakeProfitOrderId,
//                    null,
//                    false
//            );
            longEntryTraderIdParam(
                    byLongTakeProfitOrderId,
                    null,
                    false
            );
        }
        GridElement byShortTakeProfitOrderId = GridElement.findByShortTakeProfitOrderId(orderId);
        if (byShortTakeProfitOrderId != null){
@@ -713,11 +713,11 @@
                    null,
                    false
            );
//            shortEntryTraderIdParam(
//                    byShortTakeProfitOrderId,
//                    null,
//                    false
//            );
            shortEntryTraderIdParam(
                    byShortTakeProfitOrderId,
                    null,
                    false
            );
        }
        /**
@@ -726,11 +726,6 @@
        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) {
@@ -754,11 +749,6 @@
        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) {
src/main/java/com/xcong/excoin/modules/gateApi/wsHandler/handler/OrdersChannelHandler.java
@@ -42,12 +42,12 @@
                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);