From c1d984b2a937f8d3bfe94a9ec724f438994fe6bd Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 13 Aug 2026 15:41:14 +0800
Subject: [PATCH] feat(gate): 添加策略端组件开关配置

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

diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateConfigPersistenceService.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateConfigPersistenceService.java
index 480b87c..7f1a9e3 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateConfigPersistenceService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateConfigPersistenceService.java
@@ -3,6 +3,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -18,6 +19,7 @@
  * 文件路径: config/gate-config-{md5(apiKey)}.json
  */
 @Slf4j
+@ConditionalOnProperty(name = "app.gate.enabled", havingValue = "true", matchIfMissing = true)
 @Service
 public class GateConfigPersistenceService {
 
@@ -103,6 +105,15 @@
                 .quantity(nvl(dto.getQuantity(), "2"))
                 .maxPositionSize(dto.getMaxPositionSize())
                 .stopLossCount(dto.getStopLossCount())
+                .takeProfitGridSpan(dto.getTakeProfitGridSpan())
+                .priceDriveEnabled(nvl(dto.getPriceDriveEnabled(), true))
+                .rounds(dto.getRounds())
+                .stopLossCountMode(nvl(dto.getStopLossCountMode(), "dual"))
+                .addPositionInterval(dto.getAddPositionInterval() >= 0 ? dto.getAddPositionInterval() : 3)
+                .addPositionQuantity(dto.getAddPositionQuantity() > 0 ? dto.getAddPositionQuantity() : 1)
+                .maxPositionPerSide(dto.getMaxPositionPerSide())
+                .addPositionStartThreshold(dto.getAddPositionStartThreshold() >= 0 ? dto.getAddPositionStartThreshold() : 1)
+                .placeExcessTakeProfit(dto.isPlaceExcessTakeProfit())
                 .build();
     }
 

--
Gitblit v1.9.1