fix loop logic
This commit is contained in:
parent
184f455a6c
commit
39b863ed0a
22
cgvAjax.js
22
cgvAjax.js
|
|
@ -171,12 +171,12 @@ class cgvGetter {
|
||||||
return result
|
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 generalSeatCnt = 2;
|
||||||
const retryTime = 60 * 1000;
|
const retryTime = 50 * 1000;
|
||||||
// const startTime = moment('2024-02-05');
|
// const startTime = moment('2024-02-05');
|
||||||
// const endTIme = moment('2024-02-12');
|
// const endTIme = moment('2024-02-12');
|
||||||
const tmRange = { start: '1700', end: '2000' };
|
const tmRange = { start: '1600', end: '2000' };
|
||||||
let targetYMD = null;
|
let targetYMD = null;
|
||||||
let targetSchedule = null;
|
let targetSchedule = null;
|
||||||
|
|
||||||
|
|
@ -209,23 +209,23 @@ class cgvGetter {
|
||||||
const gScheduleList = JSON.parse(result.d);
|
const gScheduleList = JSON.parse(result.d);
|
||||||
// 예외 - CGV 응답 코드 확인
|
// 예외 - CGV 응답 코드 확인
|
||||||
if (gScheduleList.ResultCode !== "00000" || gScheduleList.ResultMessage !== "성공") {
|
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`);
|
throw new Error(`\t> Invalid schedule response`);
|
||||||
}
|
}
|
||||||
// 예외 - 영화 스케줄 존재 여부 확인
|
// 예외 - 영화 스케줄 존재 여부 확인
|
||||||
if (gScheduleList.ResultSchedule.ListPlayYmd.length === 0 && gScheduleList.ResultSchedule.ScheduleList.length === 0) {
|
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`);
|
throw new Error(`\t> Schedule not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 날짜 추출 - YMD 문자열 moment로 변환
|
// 날짜 추출 - YMD 문자열 moment로 변환
|
||||||
const listPlayYmd = gScheduleList.ResultSchedule.ListPlayYmd.split('|').map(YMD => util.YMDConvert(YMD));
|
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));
|
const targetDates = filteredDates.filter(date => date.isSameOrAfter(dateAft));
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
// requset - 날짜 찾았을 때
|
// request - 날짜 찾았을 때
|
||||||
//==================================================
|
//==================================================
|
||||||
if (targetYMD === null && targetDates.length !== 0) {
|
if (targetYMD === null && targetDates.length !== 0) {
|
||||||
targetYMD = util.YMDConvert(targetDates[0]);
|
targetYMD = util.YMDConvert(targetDates[0]);
|
||||||
|
|
@ -233,13 +233,13 @@ class cgvGetter {
|
||||||
continue
|
continue
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
// requset - 시간표 찾았을 때
|
// request - 시간표 찾았을 때
|
||||||
//==================================================
|
//==================================================
|
||||||
} else if (targetYMD !== null && targetSchedule === null) {
|
} else if (targetYMD !== null && targetSchedule === null) {
|
||||||
/* ++++++++++++ 남은 좌석 수 필터링 추가 'SeatRemainCnt' */
|
/* ++++++++++++ 남은 좌석 수 필터링 추가 'SeatRemainCnt' */
|
||||||
// 상영시간표 추출
|
// 상영시간표 추출
|
||||||
const scheduleList = gScheduleList.ResultSchedule.ScheduleList;
|
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 tmFilteredSchedule = seatFilteredSchedule.filter(schedule => {
|
||||||
const scheduleTm = moment(schedule.PlayStartTm, 'HHmm');
|
const scheduleTm = moment(schedule.PlayStartTm, 'HHmm');
|
||||||
const t_start = moment(tmRange.start, 'HHmm');
|
const t_start = moment(tmRange.start, 'HHmm');
|
||||||
|
|
@ -261,7 +261,7 @@ class cgvGetter {
|
||||||
await __INFO__(`\t 조건 - 날짜: ${targetSchedule.PlayYmd} / 시간: ${targetSchedule.PlayStartTm}`);
|
await __INFO__(`\t 조건 - 날짜: ${targetSchedule.PlayYmd} / 시간: ${targetSchedule.PlayStartTm}`);
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
// requset - 예매 시작
|
// request - 예매 시작
|
||||||
//==================================================
|
//==================================================
|
||||||
// 추출한 영화 정보 -> 페이로드로 재구성
|
// 추출한 영화 정보 -> 페이로드로 재구성
|
||||||
const tcktDate = targetSchedule;
|
const tcktDate = targetSchedule;
|
||||||
|
|
@ -313,7 +313,7 @@ class cgvGetter {
|
||||||
const url_seat = this.seatAspx + seatQuery;
|
const url_seat = this.seatAspx + seatQuery;
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
// requset - 로그인 쿠키
|
// request - 로그인 쿠키
|
||||||
//==================================================
|
//==================================================
|
||||||
|
|
||||||
// 로그인 세션 쿠키 추출
|
// 로그인 세션 쿠키 추출
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,8 @@ const YMDConvert = (YYMMDD, format = 'YYYYMMDD') => {
|
||||||
const dayFilter = (dates) => {
|
const dayFilter = (dates) => {
|
||||||
return dates.filter(date => {
|
return dates.filter(date => {
|
||||||
const day = date.day();
|
const day = date.day();
|
||||||
return day === 0 // || day === 1;
|
// return day === 6 || day === 1;
|
||||||
|
day === 1;
|
||||||
// sunday: 0 ~ saturday: 6
|
// sunday: 0 ~ saturday: 6
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue