package cokr.xit.ens.biz.traffic.chuncheon.mydoc.v2.sched;

import cokr.xit.ens.biz.traffic.chuncheon.mydoc.v2.service.TrafficCcMydocService;
import cokr.xit.ens.core.aop.EnsResponseVO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Profile;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Slf4j
@Component
@Profile("prod-traffic")
@RequiredArgsConstructor
public class TrafficCcMydocScheduler {

	private final TrafficCcMydocService trafficCcMydocService;

	/**
	 * 인증톡 접수
	 *  -. 인증톡 전송을 위해 TRAFFIC에 등록된 기초데이터를 ENS에 이관 등록 한다.
	 */
	@Scheduled(cron = "0 */1 7-22 * * *")
	public void accepted(){
		EnsResponseVO responseVO = trafficCcMydocService.acceptAll();
		log.info("=======================================================");
		log.info("[TRAFFIC] 인증톡 접수처리 결과");
		log.info(responseVO.toString());
		log.info("=======================================================");
	}


	/**
	 * 인증톡 결과 가져오기
	 *  -. 전송이 완료된 인증톡 전송결과(성공/실패)를 ENS -> TRAFFIC 로 가져와 DB에 저장한다.
	 */
	@Scheduled(cron = "0 */15 7-22 * * *")
	public void fetched(){
		EnsResponseVO responseVO = trafficCcMydocService.fetchAll();

		log.info("=======================================================");
		log.info("[TRAFFIC] 인증톡 요청문서정보 Fetch 결과");
		log.info(responseVO.toString());
		log.info("=======================================================");
	}
}
