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

---
 src/main/java/com/xcong/excoin/modules/gateApi/GridElement.java |   44 ++++++++++++++++++++++++++++++--------------
 1 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GridElement.java b/src/main/java/com/xcong/excoin/modules/gateApi/GridElement.java
index 2c4ed41..1b1fb96 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GridElement.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GridElement.java
@@ -183,20 +183,36 @@
         sorted.sort((a, b) -> Integer.compare(a.getId(), b.getId()));
         StringBuilder sb = new StringBuilder("\n========== 网格数据 ==========\n");
         for (GridElement e : sorted) {
-            sb.append(String.format(
-                    "  ID=%4d  价格=%s  up=%s  down=%s  多仓=%s(%s)  空仓=%s(%s)  多止盈=%s  空止盈=%s\n",
-                    e.getId(),
-                    e.getGridPrice(),
-                    e.getUpId(),
-                    e.getDownId(),
-                    e.isHasLongOrder() ? "有" : "无",
-                    e.getLongOrderId() != null ? e.getLongOrderId() : "-",
-                    e.isHasShortOrder() ? "有" : "无",
-                    e.getShortOrderId() != null ? e.getShortOrderId() : "-",
-                    e.getLongTakeProfitOrderId() != null ? e.getLongTakeProfitOrderId() : "-",
-                    e.getShortTakeProfitOrderId() != null ? e.getShortTakeProfitOrderId() : "-"
-            ));
+            if (e.isHasLongOrder() || e.isHasShortOrder()){
+                sb.append(String.format(
+                        "  ID=%4d  价格=%s  up=%s  down=%s  多仓=%s(%s)  空仓=%s(%s)  多止盈=%s  空止盈=%s\n",
+                        e.getId(),
+                        e.getGridPrice(),
+                        e.getUpId(),
+                        e.getDownId(),
+                        e.isHasLongOrder() ? "有" : "无",
+                        e.getLongOrderId() != null ? e.getLongOrderId() : "-",
+                        e.isHasShortOrder() ? "有" : "无",
+                        e.getShortOrderId() != null ? e.getShortOrderId() : "-",
+                        e.getLongTakeProfitOrderId() != null ? e.getLongTakeProfitOrderId() : "-",
+                        e.getShortTakeProfitOrderId() != null ? e.getShortTakeProfitOrderId() : "-"
+                ));
+            }
         }
+        sb.append(String.format(
+                "------------------------------------------------------------\n" +
+                "  索引统计: ID=%d  价格=%d  多仓订单ID=%d  空仓订单ID=%d  多止盈ID=%d  空止盈ID=%d\n",
+                INDEX.size(),
+                PRICE_INDEX.size(),
+                LONG_ORDER_ID_INDEX.size(),
+                SHORT_ORDER_ID_INDEX.size(),
+                LONG_TP_ORDER_ID_INDEX.size(),
+                SHORT_TP_ORDER_ID_INDEX.size()
+        ));
+        sb.append(String.format("  多仓订单ID索引: %s\n", LONG_ORDER_ID_INDEX.keySet()));
+        sb.append(String.format("  空仓订单ID索引: %s\n", SHORT_ORDER_ID_INDEX.keySet()));
+        sb.append(String.format("  多止盈ID索引: %s\n", LONG_TP_ORDER_ID_INDEX.keySet()));
+        sb.append(String.format("  空止盈ID索引: %s\n", SHORT_TP_ORDER_ID_INDEX.keySet()));
         sb.append("================================\n");
         System.out.println(sb);
     }
@@ -226,7 +242,7 @@
     public static List<GridElement> findAllShortOrders(BigDecimal currentPrice) {
         List<GridElement> result = new ArrayList<>();
         for (GridElement e : INDEX.values()) {
-            if (e.isHasShortOrder() && e.getGridPrice().compareTo(currentPrice) < 0) {
+            if (e.isHasShortOrder() && e.getGridPrice().compareTo(currentPrice) > 0) {
                 result.add(e);
             }
         }

--
Gitblit v1.9.1