From befbf57e4112d07003bff18102f556a1e5a154de Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Wed, 22 Apr 2026 10:53:37 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
index 7ac8952..68b221d 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/api/controller/ApiWithdrawController.java
@@ -222,8 +222,15 @@
 
             Withdraw withdraw = withdrawService.getOne(new LambdaQueryWrapper<>(Withdraw.class)
                     .eq(Withdraw::getOrderNo, order_no).last(" limit 1 "));
-            if(ObjectUtil.isEmpty(withdraw) && withdraw.getStatus() != 0 && !withdraw.getAddress().equals(address)){
-                log.info("withdraw failed:{}", withdraw);
+            if (ObjectUtil.isEmpty(withdraw)) {
+                log.warn("withdrawCallback ignore: order not found, orderNo={}, address={}", order_no, address);
+                resultMsg.setCode(200);
+                return resultMsg;
+            }
+            // 已处理状态或地址不匹配时忽略回调,避免重复处理/误处理
+            if (withdraw.getStatus() != 0 || !address.equals(withdraw.getAddress())) {
+                log.info("withdrawCallback ignore: orderNo={}, status={}, callbackAddress={}, orderAddress={}",
+                        order_no, withdraw.getStatus(), address, withdraw.getAddress());
                 resultMsg.setCode(200);
                 return resultMsg;
             }

--
Gitblit v1.9.3