스프링 부트(타임스탬프, 1:00마다 업데이트)

@얻는 사람
@MappedSuperclass
@EntityListeners(AuditingEntityListener.수업)
공개 수업 타임스탬프 {

@CreatedDate
@열(업데이트 가능 = 거짓)
사적인 LocalDateTime 생성시;

@LastModifiedDate
@열
사적인 LocalDateTime 수정된 시간;
}

패키지 com.sparta.myselectshop.scheduler;

수입 com.sparta.myselectshop.entitiy.Product;
수입 com.sparta.myselectshop.naver.ItemDto;
수입 com.sparta.myselectshop.naver.NaverApiService;
수입 com.sparta.myselectshop.repository.ProductRepository;
수입 com.sparta.myselectshop.service.ProductService;
수입 롬복.필수 인수 생성자;
수입 lombok.extern.slf4j.Slf4j;
수입 org.springframework.scheduling.annotation.예정;
수입 org.springframework.stereotype.요소;

수입 java.util.List;
수입 java.util.concurrent.TimeUnit;

@Slf4j
@요소
@RequiredArgs 생성자
공개 수업 스케줄러 {

개인 결승 NaverApiService averageApiService;
개인 결승 제품서비스 제품 서비스;
개인 결승 제품 저장소 제품 저장소;

// 양초, , 도시, , , 주 주문
@예정(크론 = “0 0 1 * * *”)
공공 무효 업데이트 가격() 던진다 InterruptedException {
통나무.정보(가격 업데이트 실행);
목록 제품목록 = 제품 저장소.findAll();
~을 위한 (상품상품 : productList) {
// 1초당 하나의 제품 쿼리 (네이버 한계)
TimeUnit..잠(1);

문자열 제목 = product.getTitle();
목록 itemDtoList = averageApiService.searchItems(제목);
ItemDto itemDto = itemDtoList.get(0);

// 나 관심 상품 정보 업데이트.
긴 ID = product.getId();
제품 서비스.updateBySearch(ID, itemDto);
}
}
}