37 lines
1.2 KiB
Java
37 lines
1.2 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|