From 2c6b8b634f526bda1a9d6ee6abac961bc9e671a8 Mon Sep 17 00:00:00 2001 From: hylee Date: Wed, 20 Mar 2024 11:30:40 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AA=A8=EB=9D=BD=20api=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../morak/service/MorakService.java | 21 ---- .../morak/service/impl/MorakServiceImpl.java | 105 ------------------ .../morak/web/MorakController.java | 53 --------- .../util/scheduled/ScheduledTasks.java | 15 ++- 4 files changed, 7 insertions(+), 187 deletions(-) delete mode 100644 src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/MorakService.java delete mode 100644 src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/impl/MorakServiceImpl.java delete mode 100644 src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/web/MorakController.java diff --git a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/MorakService.java b/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/MorakService.java deleted file mode 100644 index 4045a91..0000000 --- a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/MorakService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.itn.mjonApi.etc.webPageCrawling.morak.service; - -import com.itn.mjonApi.cmn.msg.RestResponse; - -import java.io.IOException; - -/** - * packageName : com.itn.mjonApi.etc.ganpandaum.service - * fileName : GdService - * author : hylee - * date : 2023-06-07 - * description : - * =========================================================== - * DATE AUTHOR NOTE - * ----------------------------------------------------------- - * 2023-06-07 hylee 최초 생성 - */ -public interface MorakService { - RestResponse morakMenu() throws IOException; -// void morakMenu() throws IOException; -} diff --git a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/impl/MorakServiceImpl.java b/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/impl/MorakServiceImpl.java deleted file mode 100644 index 42d5562..0000000 --- a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/service/impl/MorakServiceImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.itn.mjonApi.etc.webPageCrawling.morak.service.impl; - -import com.itn.mjonApi.cmn.msg.RestResponse; -import com.itn.mjonApi.etc.webPageCrawling.morak.service.MorakService; -import com.itn.mjonApi.util.slack.SlackUtil; -import lombok.extern.slf4j.Slf4j; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; -import org.jsoup.nodes.Element; -import org.springframework.stereotype.Service; - -import java.time.LocalDate; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * packageName : com.itn.mjonApi.etc.ganpandaum.service.impl - * fileName : GdServiceImpl - * author : hylee - * date : 2023-06-07 - * description : - * =========================================================== - * DATE AUTHOR NOTE - * ----------------------------------------------------------- - * 2023-06-07 hylee 최초 생성 - */ -@Service -@Slf4j -public class MorakServiceImpl implements MorakService { - - @Override - public RestResponse morakMenu() { -// public void morakMenu() { - String imgUrl = ""; - try { - while (true){ - // 웹사이트에 연결 - Document doc = Jsoup.connect("https://m.blog.naver.com/goodchild71/222831407207").get(); - - // img가 있는 태그 가져오기 - Element mainDoc = doc.select(".se-main-container").first(); - - // img에서 큰사이즈의 이미지 URL 가져오기 - imgUrl = mainDoc.select("img").attr("data-lazy-src"); - - // 현재 날짜와 비교 - // true면 오늘 날짜가 맞음 - if(this.dateComparison(imgUrl)){ - SlackUtil.sendMorakMenuToSlack(imgUrl); - break; - }else{ - - // 11시 30분이 지났으면 break; - if(isCurrentTime1130()){ - break; - } - - Thread.sleep(100000); - } - } - - } catch (Exception e) { - e.printStackTrace(); - } - - - - return new RestResponse(imgUrl); - - } - - private boolean isCurrentTime1130() { - LocalTime now = LocalTime.now(); - LocalTime targetTime = LocalTime.of(11, 30); - return now.isAfter(targetTime); - } - - private Boolean dateComparison(String imgUrl) { - Boolean result = false; - // imgUrl에서 추출할 날짜 패턴 정수 8개 설정 - Pattern pattern = Pattern.compile("(\\d{8})"); - // 날짜 패턴 추출 - Matcher matcher = pattern.matcher(imgUrl); - - // 찾았으면 if true - if (matcher.find()) { - String extractedDate = matcher.group(1); - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - LocalDate dateFromText = LocalDate.parse(extractedDate, formatter); - LocalDate currentDate = LocalDate.now(); - - if (dateFromText.equals(currentDate)) { - result = true; - } - } else { - System.out.println("No date found in the text."); - } - - return result; - } - -} diff --git a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/web/MorakController.java b/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/web/MorakController.java deleted file mode 100644 index 3d0e662..0000000 --- a/src/main/java/com/itn/mjonApi/etc/webPageCrawling/morak/web/MorakController.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.itn.mjonApi.etc.webPageCrawling.morak.web; - -import com.itn.mjonApi.cmn.msg.RestResponse; -import com.itn.mjonApi.etc.webPageCrawling.morak.service.MorakService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.CrossOrigin; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * packageName : com.itn.mjonApi.etc.ganpandaum.web - * fileName : SendRestController - * author : hylee - * date : 2023-02-15 - * description : - * =========================================================== - * DATE AUTHOR NOTE - * ----------------------------------------------------------- - * 2023-02-15 hylee 최초 생성 - */ - -// 치환문자가 있으면 , => §로 치환 - -@Slf4j -@RestController -public class MorakController { - - - @Autowired - private MorakService morakService; - - - /** - * - * @Discription 모락 메뉴 크롤링 컨트롤러 - * @return - */ - @CrossOrigin("*") // 모든 요청에 접근 허용 - @GetMapping("/etc/morak/morakMenu") -// public void morakMenu() throws Exception { -// log.info("morakMenu morakMenu morakMenu"); -// morakService.morakMenu(); -// } - public ResponseEntity morakMenu() throws Exception { - return ResponseEntity.ok().body(morakService.morakMenu()); - } - - - - -} diff --git a/src/main/java/com/itn/mjonApi/util/scheduled/ScheduledTasks.java b/src/main/java/com/itn/mjonApi/util/scheduled/ScheduledTasks.java index fb7b7d4..75d599a 100644 --- a/src/main/java/com/itn/mjonApi/util/scheduled/ScheduledTasks.java +++ b/src/main/java/com/itn/mjonApi/util/scheduled/ScheduledTasks.java @@ -1,6 +1,5 @@ package com.itn.mjonApi.util.scheduled; -import com.itn.mjonApi.etc.webPageCrawling.morak.service.MorakService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @@ -21,12 +20,12 @@ import java.io.IOException; @Service public class ScheduledTasks { - @Autowired - private MorakService morakService; +// @Autowired +// private MorakService morakService; - @Scheduled(cron = "0 40 10 * * MON-FRI") - public void noonJob() throws IOException { - System.out.println("It's noon!"); - morakService.morakMenu(); - } +// @Scheduled(cron = "0 40 10 * * MON-FRI") +// public void noonJob() throws IOException { +// System.out.println("It's noon!"); +// morakService.morakMenu(); +// } }