From 39b863ed0a572623cc48988cdecaa48c0c6631e4 Mon Sep 17 00:00:00 2001 From: space2lim Date: Wed, 20 Mar 2024 20:45:27 +0900 Subject: [PATCH] fix loop logic --- cgvAjax.js | 22 +++++++++++----------- src/utils/commonUtil.js | 3 ++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/cgvAjax.js b/cgvAjax.js index 0cd719a..2c910c5 100644 --- a/cgvAjax.js +++ b/cgvAjax.js @@ -171,12 +171,12 @@ class cgvGetter { return result } - async main_dev(mgCD = '20035290', ymd = null, dateAft = moment('2024-03-09', 'YYYY-MM-DD')) { + async main_dev(mgCD = '20035290', ymd = null, dateAft = moment()) { const generalSeatCnt = 2; - const retryTime = 60 * 1000; + const retryTime = 50 * 1000; // const startTime = moment('2024-02-05'); // const endTIme = moment('2024-02-12'); - const tmRange = { start: '1700', end: '2000' }; + const tmRange = { start: '1600', end: '2000' }; let targetYMD = null; let targetSchedule = null; @@ -209,23 +209,23 @@ class cgvGetter { const gScheduleList = JSON.parse(result.d); // 예외 - CGV 응답 코드 확인 if (gScheduleList.ResultCode !== "00000" || gScheduleList.ResultMessage !== "성공") { - logger['debug'](`>> ResultCode: ${gScheduleList.ResultCode} | ResultMessage: ${gScheduleList.ResultMessage}`); + logger['debug'](`ResultCode: ${gScheduleList.ResultCode} | ResultMessage: ${gScheduleList.ResultMessage}`); throw new Error(`\t> Invalid schedule response`); } // 예외 - 영화 스케줄 존재 여부 확인 if (gScheduleList.ResultSchedule.ListPlayYmd.length === 0 && gScheduleList.ResultSchedule.ScheduleList.length === 0) { - logger['debug'](`>> ResultSchedule: ${gScheduleList.ResultSchedule}`); + logger['debug'](`ResultSchedule: ${gScheduleList.ResultSchedule}`); throw new Error(`\t> Schedule not found`); } // 날짜 추출 - YMD 문자열 moment로 변환 const listPlayYmd = gScheduleList.ResultSchedule.ListPlayYmd.split('|').map(YMD => util.YMDConvert(YMD)); // 예매 가능한 일정만 필터 - const filteredDates = util.dayFilter(listPlayYmd); + const filteredDates = util.dayFilter(listPlayYmd); // 우선 주말로 세팅돼있다. const targetDates = filteredDates.filter(date => date.isSameOrAfter(dateAft)); //================================================== - // requset - 날짜 찾았을 때 + // request - 날짜 찾았을 때 //================================================== if (targetYMD === null && targetDates.length !== 0) { targetYMD = util.YMDConvert(targetDates[0]); @@ -233,13 +233,13 @@ class cgvGetter { continue //================================================== - // requset - 시간표 찾았을 때 + // request - 시간표 찾았을 때 //================================================== } else if (targetYMD !== null && targetSchedule === null) { /* ++++++++++++ 남은 좌석 수 필터링 추가 'SeatRemainCnt' */ // 상영시간표 추출 const scheduleList = gScheduleList.ResultSchedule.ScheduleList; - const seatFilteredSchedule = scheduleList.filter(schedule => schedule.SeatRemainCnt >= 550); + const seatFilteredSchedule = scheduleList.filter(schedule => schedule.SeatRemainCnt >= 550); // 550석 이상만 필터링. const tmFilteredSchedule = seatFilteredSchedule.filter(schedule => { const scheduleTm = moment(schedule.PlayStartTm, 'HHmm'); const t_start = moment(tmRange.start, 'HHmm'); @@ -261,7 +261,7 @@ class cgvGetter { await __INFO__(`\t 조건 - 날짜: ${targetSchedule.PlayYmd} / 시간: ${targetSchedule.PlayStartTm}`); //================================================== - // requset - 예매 시작 + // request - 예매 시작 //================================================== // 추출한 영화 정보 -> 페이로드로 재구성 const tcktDate = targetSchedule; @@ -313,7 +313,7 @@ class cgvGetter { const url_seat = this.seatAspx + seatQuery; //================================================== - // requset - 로그인 쿠키 + // request - 로그인 쿠키 //================================================== // 로그인 세션 쿠키 추출 diff --git a/src/utils/commonUtil.js b/src/utils/commonUtil.js index 1c60e2d..9149503 100644 --- a/src/utils/commonUtil.js +++ b/src/utils/commonUtil.js @@ -17,7 +17,8 @@ const YMDConvert = (YYMMDD, format = 'YYYYMMDD') => { const dayFilter = (dates) => { return dates.filter(date => { const day = date.day(); - return day === 0 // || day === 1; + // return day === 6 || day === 1; + day === 1; // sunday: 0 ~ saturday: 6 }); }