Showing
1 changed file
with
57 additions
and
13 deletions
| ... | @@ -141,8 +141,9 @@ app.post('/hook', asyncHandler(async (req, res, next) => { | ... | @@ -141,8 +141,9 @@ app.post('/hook', asyncHandler(async (req, res, next) => { |
| 141 | //날짜 확인 및 날짜, 장소에 대해 상영중인 영화 리스트 가져오기 | 141 | //날짜 확인 및 날짜, 장소에 대해 상영중인 영화 리스트 가져오기 |
| 142 | if (moment(message.text, "YYYYMMDD", true).isValid() && MEGA_flag == 3) { | 142 | if (moment(message.text, "YYYYMMDD", true).isValid() && MEGA_flag == 3) { |
| 143 | MEGA_date = parseInt(message.text); | 143 | MEGA_date = parseInt(message.text); |
| 144 | + let today = GettingToday();//오늘 이후인지 확인하기 위해 날짜 가져옴 | ||
| 144 | //console.log(MEGA_date, MEGA_TheaterLocation); | 145 | //console.log(MEGA_date, MEGA_TheaterLocation); |
| 145 | - if (MEGA_date && MEGA_TheaterLocationCode) { | 146 | + if (today<=MEGA_date && MEGA_date && MEGA_TheaterLocationCode) { |
| 146 | const text1 = "현재상영작을 가져오는 중입니다."; | 147 | const text1 = "현재상영작을 가져오는 중입니다."; |
| 147 | const text2 = "잠시만 기다려주세요."; | 148 | const text2 = "잠시만 기다려주세요."; |
| 148 | PushMessage(text1, text2); | 149 | PushMessage(text1, text2); |
| ... | @@ -190,15 +191,15 @@ app.post('/hook', asyncHandler(async (req, res, next) => { | ... | @@ -190,15 +191,15 @@ app.post('/hook', asyncHandler(async (req, res, next) => { |
| 190 | PushMessage(PlayingMovie, "바로 링크가 보내집니다."); | 191 | PushMessage(PlayingMovie, "바로 링크가 보내집니다."); |
| 191 | MEGA_title = MEGA_PlayingMovieList[Object.keys(MEGA_PlayingMovieList)[0]]; | 192 | MEGA_title = MEGA_PlayingMovieList[Object.keys(MEGA_PlayingMovieList)[0]]; |
| 192 | setTimeout(function () { | 193 | setTimeout(function () { |
| 193 | - const final_URL = "https://www.megabox.co.kr/booking?rpstMovieNo=" + MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; | 194 | + const PC_final_URL = "https://www.megabox.co.kr/booking?rpstMovieNo=" + MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; |
| 194 | - console.log(final_URL) | 195 | + const Smartphone_final_URL = "https://m.megabox.co.kr/booking/movie?movieNo="+ MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; |
| 195 | - PushMessage(final_URL, "링크를 누르면 예매창으로 바로 이동합니다."); | 196 | + PushURLMessage(PC_final_URL, Smartphone_final_URL); |
| 196 | - }, 1000); | 197 | + setTimeout(function () { |
| 197 | - setTimeout(function () { | 198 | + initFlag = false; |
| 198 | - initFlag = false; | 199 | + MEGA_flag = -1; |
| 199 | - MEGA_flag = -1; | 200 | + MEGA_PlayingMovieList = []; |
| 200 | - MEGA_PlayingMovieList = []; | 201 | + PushSingleMessage("원하시는 브랜드의 번호를 입력해주세요.\n1: CGV\n2: LotteCinema\n3: Megabox\n언제든 브랜드를 바꾸고 싶으시다면 '브랜드'를 입력해주세요."); |
| 201 | - PushSingleMessage("원하시는 브랜드의 번호를 입력해주세요.\n1: CGV\n2: LotteCinema\n3: Megabox\n언제든 브랜드를 바꾸고 싶으시다면 '브랜드'를 입력해주세요."); | 202 | + }, 1000); |
| 202 | }, 1000); | 203 | }, 1000); |
| 203 | } else { | 204 | } else { |
| 204 | let index = 0; | 205 | let index = 0; |
| ... | @@ -213,9 +214,10 @@ app.post('/hook', asyncHandler(async (req, res, next) => { | ... | @@ -213,9 +214,10 @@ app.post('/hook', asyncHandler(async (req, res, next) => { |
| 213 | }else if (MEGA_flag == 5) { | 214 | }else if (MEGA_flag == 5) { |
| 214 | const index = parseInt(message.text) - 1; | 215 | const index = parseInt(message.text) - 1; |
| 215 | MEGA_title = MEGA_PlayingMovieList[Object.keys(MEGA_PlayingMovieList)[index]]; | 216 | MEGA_title = MEGA_PlayingMovieList[Object.keys(MEGA_PlayingMovieList)[index]]; |
| 216 | - const final_URL = "https://www.megabox.co.kr/booking?rpstMovieNo=" + MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; | 217 | + const PC_final_URL = "https://www.megabox.co.kr/booking?rpstMovieNo=" + MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; |
| 217 | - console.log(final_URL); | 218 | + const Smartphone_final_URL = "https://m.megabox.co.kr/booking/movie?movieNo="+ MEGA_title + "&brchNo1=" + MEGA_TheaterLocationCode + '&playDe=' + MEGA_date; |
| 218 | - PushMessage(final_URL, "링크를 누르면 예매창으로 바로 이동합니다."); | 219 | + console.log(PC_final_URL, Smartphone_final_URL); |
| 220 | + PushURLMessage(PC_final_URL, Smartphone_final_URL); | ||
| 219 | MEGA_PlayingMovieList = []; //영화 리스트 초기화 | 221 | MEGA_PlayingMovieList = []; //영화 리스트 초기화 |
| 220 | MegaboxKakaoResultTheater = []; | 222 | MegaboxKakaoResultTheater = []; |
| 221 | GetMegaboxKakaoMapURL(MEGA_TheaterLocation); | 223 | GetMegaboxKakaoMapURL(MEGA_TheaterLocation); |
| ... | @@ -250,6 +252,24 @@ try { | ... | @@ -250,6 +252,24 @@ try { |
| 250 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); | 252 | console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'); |
| 251 | console.log(error); | 253 | console.log(error); |
| 252 | } | 254 | } |
| 255 | + | ||
| 256 | +//오늘 날짜 구하기 | ||
| 257 | +function GettingToday(){ | ||
| 258 | + var today = new Date(); | ||
| 259 | + var year = today.getFullYear(); | ||
| 260 | + var month = ('0' + (today.getMonth() + 1)).slice(-2); | ||
| 261 | + var day = ('0' + today.getDate()).slice(-2); | ||
| 262 | + var dateString = year + month + day; | ||
| 263 | + var dateInt = parseInt(dateString); | ||
| 264 | + console.log(dateInt); | ||
| 265 | + return dateInt; | ||
| 266 | +} | ||
| 267 | + | ||
| 268 | +//24시간마다 데이터 초기화 | ||
| 269 | +var dayInMilliseconds = 1000 * 60 * 60 * 24; | ||
| 270 | +setInterval(function() { megabox.init(); console.log("success") },dayInMilliseconds ); | ||
| 271 | + | ||
| 272 | +//Megabox - Kakao API로 영화관 위치 찾기 | ||
| 253 | GetMegaboxKakaoMapURL= async(LOCATE) => { | 273 | GetMegaboxKakaoMapURL= async(LOCATE) => { |
| 254 | let KAKAOOPTION = { | 274 | let KAKAOOPTION = { |
| 255 | url: "https://dapi.kakao.com/v2/local/search/keyword", | 275 | url: "https://dapi.kakao.com/v2/local/search/keyword", |
| ... | @@ -357,4 +377,28 @@ function PushSingleMessage(text1) {//push single message | ... | @@ -357,4 +377,28 @@ function PushSingleMessage(text1) {//push single message |
| 357 | }, (error, response, body) => { | 377 | }, (error, response, body) => { |
| 358 | console.log(body) | 378 | console.log(body) |
| 359 | }); | 379 | }); |
| 380 | +} | ||
| 381 | +function PushURLMessage(pcurl, smartphoneurl) {//push single message | ||
| 382 | + request.post( | ||
| 383 | + { | ||
| 384 | + url: PUSH_TARGET_URL, | ||
| 385 | + headers: { | ||
| 386 | + 'Authorization': `Bearer ${TOKEN}` | ||
| 387 | + }, | ||
| 388 | + json: { | ||
| 389 | + "to": `${USER_ID}`, | ||
| 390 | + "messages": [ | ||
| 391 | + { | ||
| 392 | + "type": "text", | ||
| 393 | + "text": "pc버전 url입니다\n\n" + pcurl | ||
| 394 | + }, | ||
| 395 | + { | ||
| 396 | + "type": "text", | ||
| 397 | + "text": "mobile버전 url입니다\n\n" + smartphoneurl | ||
| 398 | + } | ||
| 399 | + ] | ||
| 400 | + } | ||
| 401 | + }, (error, response, body) => { | ||
| 402 | + console.log(body) | ||
| 403 | + }); | ||
| 360 | } | 404 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment