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
|
||||
}
|
||||
|
||||
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 - 로그인 쿠키
|
||||
//==================================================
|
||||
|
||||
// 로그인 세션 쿠키 추출
|
||||
|
|
|
|||
|
|
@ -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
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue