From d817d6490b058be658b2b3dbe3155cfe5d0b88a8 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 19 May 2026 11:44:50 +0800
Subject: [PATCH] ``` fix(gate): 修复网格交易中订单状态更新处理逻辑

---
 src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java
index ee5151c..7730ec5 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateTradeExecutor.java
@@ -176,13 +176,18 @@
     public void placeTakeProfit(BigDecimal triggerPrice,
                                  FuturesPriceTrigger.RuleEnum rule,
                                  String orderType,
-                                 String size) {
+                                 String size,
+                                Consumer<String> onSuccess) {
         executor.execute(() -> {
             FuturesPriceTriggeredOrder order = buildTriggeredOrder(triggerPrice, rule, orderType, size);
             try {
                 TriggerOrderResponse response = futuresApi.createPriceTriggeredOrder(SETTLE, order);
-                log.info("[TradeExec] 止盈单已创建, 触发价:{}, 类型:{}, size:{}, id:{}",
-                        triggerPrice, orderType, size, response.getId());
+                log.info("[TradeExec] 止盈单已创建, 触发价:{}, 类型:{}, size:{}, id:{},idstr:{}",
+                        triggerPrice, orderType, size, response.getId(), response.getIdString());
+                String orderId = String.valueOf(response.getId());
+                if (onSuccess != null) {
+                    onSuccess.accept(orderId);
+                }
             } catch (Exception e) {
                 log.error("[TradeExec] 止盈单创建失败, 触发价:{}, size:{}, 立即市价止盈", triggerPrice, size, e);
                 marketClose(size);
@@ -318,8 +323,9 @@
 
                 TriggerOrderResponse response = futuresApi.createPriceTriggeredOrder(SETTLE, order);
                 String orderId = String.valueOf(response.getId());
-                log.info("[TradeExec] 条件开仓单已创建, trigger:{}, rule:{}, size:{}, id:{}",
-                        triggerPrice, rule, size, orderId);
+                String orderIdStr = response.getIdString();
+                log.info("[TradeExec] 条件开仓单已创建, trigger:{}, rule:{}, size:{}, id:{},idStr:{}",
+                        triggerPrice, rule, size, orderId, orderIdStr);
                 if (onSuccess != null) {
                     onSuccess.accept(orderId);
                 }

--
Gitblit v1.9.1