Administrator
2026-08-13 c1d984b2a937f8d3bfe94a9ec724f438994fe6bd
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 {
@@ -106,6 +108,12 @@
                .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();
    }