From ea8df61c5936ca4d9282dd14fa7fc1359ddd39d3 Mon Sep 17 00:00:00 2001 From: WrBug Date: Wed, 3 Dec 2025 06:37:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E8=B7=9F=E5=8D=95?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=97=B6=E4=BD=BF=E7=94=A8=20restartMonitori?= =?UTF-8?q?ng=20=E7=A1=AE=E4=BF=9D=E7=8A=B6=E6=80=81=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 updateCopyTradingStatus 中使用 restartMonitoring 替代 addLeaderMonitoring/removeLeaderMonitoring - 确保启用/禁用跟单时,轮询监听状态完全同步 - 避免部分更新导致的状态不一致问题 --- .../wrbug/polymarketbot/service/CopyTradingService.kt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/CopyTradingService.kt b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/CopyTradingService.kt index a7da076..bf9ea7f 100644 --- a/backend/src/main/kotlin/com/wrbug/polymarketbot/service/CopyTradingService.kt +++ b/backend/src/main/kotlin/com/wrbug/polymarketbot/service/CopyTradingService.kt @@ -162,16 +162,12 @@ class CopyTradingService( val saved = copyTradingRepository.save(updated) - // 更新监听状态 + // 重新启动监听(确保状态完全同步) kotlinx.coroutines.runBlocking { try { - if (saved.enabled) { - monitorService.addLeaderMonitoring(saved.leaderId) - } else { - monitorService.removeLeaderMonitoring(saved.leaderId) - } + monitorService.restartMonitoring() } catch (e: Exception) { - logger.error("更新Leader监听状态失败: leaderId=${saved.leaderId}", e) + logger.error("重新启动跟单监听失败", e) } }