package com.goldenchart.config; import com.goldenchart.entity.GcStrategy; import com.goldenchart.repository.GcStrategyRepository; import com.goldenchart.service.StrategyConditionTimeframeService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; /** * 기동 시 전략 DSL TIMEFRAME·분봉 자동 보정 (레거시 3분봉 전략 등). */ @Component @RequiredArgsConstructor @Slf4j public class StrategyDslRepairRunner implements ApplicationRunner { private final GcStrategyRepository strategyRepo; private final StrategyConditionTimeframeService conditionTimeframes; @Override public void run(ApplicationArguments args) { int count = 0; for (GcStrategy strategy : strategyRepo.findAll()) { if (strategy.getId() == null) continue; conditionTimeframes.invalidate(strategy.getId()); conditionTimeframes.collectForStrategy(strategy.getId()); count++; } if (count > 0) { log.info("[StrategyDslRepair] 전략 {}건 분봉 DSL 점검 완료", count); } } }