ÿØÿà JFIF ` ` ÿþ
Server : Apache System : Linux ruga7-004.fmcity.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : tkt_travelbus ( 1137) PHP Version : 7.0.0p1 Disable Function : mysql_pconnect Directory : /tkt_travelbus/www/api/ |
Upload File : |
<?php header("Content-Type: application/json"); $g4_path = ".."; include "../common.php"; // Zipline Common include "common.php"; // API Common include "../adm/admin.lib.php"; // Admin Function // 개발 모드 설정 ★ 실제 운영 시 주의 ★ $allow_addr = array( '119.67.250.2033', // 집 '14.6.87.1933' // TK사무실 ); if(in_array($_SERVER['REMOTE_ADDR'], $allow_addr) == true){ define('DEV_MODE', '1'); echo "###############################\n"; echo "########## 개발 모드 ##########\n"; echo "###############################\n"; } else { define('DEV_MODE', '0'); } // 시작일시설정 $cron_stime = "2022-07-01 22:00:00"; echo ("===== TKPLACE - ZIPLINE : API START =====\n"); Log::save(sprintf("%s(%d) %s", __FILE__, __LINE__, "API START"), '', 'tk/'.date('Ym')); // 주문조회 쿼리 $path = "/orders/list"; $searchStartDate = date('Y-m-d', strtotime("-1 days")); $call_data = array( 'limit' => 1000, ); $result = call($path, $call_data); $data = array(); //if(DEV_MODE){ p($result); } echo "\nDATA TOTAL : " . count($result['data']['dataOrder']) . "\n\n"; if(DEV_MODE){ echo "##################### STEP 1 : 데이터 예약건별로 처리\n"; } foreach($result['data']['dataOrder'] as $k => $v){ if(DEV_MODE){ echo "##################### STEP 2 : 예약{$k}\n"; } // 시작시간 if($v['res_date_time'] <= $cron_stime) continue; // TK 예약번호 $order_code = $v['rsv_no']; if(DEV_MODE){ echo "\n★★ ORDER ID : " . $order_code . " ===> "; } // 상태 체크 if($v['status'] == 'H'){ if(DEV_MODE){ p("취소된 예약."); } Log::save(sprintf("%s(%d) %s", __FILE__, __LINE__, "취소된 예약." . $order_code), '', 'tk/'.date('Ym')); continue; } // API 전송상태 (S 일 경우 이미 전송된 건이므로 처리하지 않음.) if($v['api_status'] == 'S'){ if(DEV_MODE){ p("이미 전송된 예약."); } Log::save(sprintf("%s(%d) %s", __FILE__, __LINE__, "이미 전송된 예약." . $order_code), '', 'tk/'.date('Ym')); //by taeyoung //20220816 //시간 변경 된 경우 처리. $wr_link = str_replace("-", "", $v['start_date']); $eventName = $v['event_name']; $wr_2 = $eventName . ":00"; $wr_homepage = $v['discount_cmt']; //할인옵션 $wr_3 = $v['total_inwon']; $wr_4 = $v['cust_nm']; $wr_5 = str_replace("-", "", trim($v['cust_hp'])); $wr_7 = $v['total_price']; $wr_21 = $v['res_route']; // 예약 유입경로 //1. 이미 예약된 데이터 불러오기 $row_mod = sql_fetch("select * from {$write_table} where tk_res_no = '{$order_code}'"); if($row_mod){ //2. 데이터 비교하기 if( ($wr_link != $row_mod['wr_link1']) || ($wr_2 != $row_mod['wr_2']) || ($wr_homepage != $row_mod['wr_homepage']) || ($wr_3 != $row_mod['wr_3']) || ($wr_4 != $row_mod['wr_4']) || ($wr_5 != $row_mod['wr_5']) || ($wr_7 != $row_mod['wr_7']) || ($wr_21 != $row_mod['wr_21']) ){ //3. 다른 데이터 있으면 로그 쌓기 $sqlmod = "INSERT INTO res_modify_log SET "; $sqlmod .= "site_id = '{$site_id}'"; $sqlmod .= ", tk_res_no = '{$order_code}'"; $sqlmod .= ", wr_link1 = '{$wr_link}'"; $sqlmod .= ", wr_2 = '{$wr_2}'"; $sqlmod .= ", wr_homepage = '{$wr_homepage}'"; $sqlmod .= ", wr_3 = '{$wr_3}'"; $sqlmod .= ", wr_4 = '{$wr_4}'"; $sqlmod .= ", wr_5 = '{$wr_5}'"; $sqlmod .= ", wr_7 = '{$wr_7}'"; $sqlmod .= ", wr_21 = '{$wr_21}'"; sql_query($sqlmod); } } //4. 업데이트 sql_query("UPDATE {$write_table} SET wr_link1 = '{$wr_link}', wr_link2 = '{$wr_link}', wr_2 = '{$wr_2}', wr_homepage = '{$wr_homepage}', wr_3 = '{$wr_3}', wr_4 = '{$wr_4}', wr_5 = '{$wr_5}', wr_7 = '{$wr_7}', wr_21 = '{$wr_21}' WHERE tk_res_no = '{$order_code}' "); continue; } // 사용일 $startDate = $v['start_date']; if(!$startDate){ if(DEV_MODE){ p("사용일 정보가 없습니다."); } Log::save(sprintf("%s(%d) %s", __FILE__, __LINE__, "사용일 정보가 없습니다." . $order_code), '', 'tk/'.date('Ym')); continue; } // 행사 정보 (짚라인 이용시간) $eventName = $v['event_name']; if(!$eventName){ if(DEV_MODE){ p("이용시간 정보가 없습니다."); } Log::save(sprintf("%s(%d) %s", __FILE__, __LINE__, "이용시간 정보가 없습니다." . $order_code), '', 'tk/'.date('Ym')); continue; } // Duplicate Check $row_res = sql_fetch("select * from {$write_table} where tk_res_no = '{$order_code}'"); if($row_res){ $wr_id = $row_res['wr_id']; if(DEV_MODE){ echo "이미 등록되어 있는 예약" . $order_code . " / " . $res_no; } Log::save(sprintf("%s(%d) %s %s", __FILE__, __LINE__, "이미 등록되어 있는 예약 : " . $order_code, $res_no), '', 'tk/'.date('Ym')); continue; } if(DEV_MODE){ echo "\n\n★★ 예약 추가 시작\n"; } // 예약 추가 // resrev_form_update.php 282 Lines 참고 $wr_num = get_next_num($write_table); $wr_content = ""; $wr_link = str_replace("-", "", $v['start_date']); $wr_password = md5('tktravel'); $wr_homepage = $v['discount_cmt']; //할인옵션 $wr_2 = $eventName . ":00"; $wr_3 = $v['total_inwon']; $wr_4 = $v['cust_nm']; $wr_5 = str_replace("-", "", trim($v['cust_hp'])); $wr_6 = "7000"; // 결제방법 - 제휴 $wr_7 = $v['total_price']; $wr_21 = $v['res_route']; // 예약 유입경로 $insert = array( "wr_num" => $wr_num, "wr_reply" => '', "wr_comment" => 0, "ca_name" => '', "wr_option" => '', "wr_subject" => '(TK)', // 회사명 및 단체명 "wr_content" => $wr_content, // 예약내용 "wr_link1" => $wr_link, // 예약일 "wr_link2" => $wr_link, // 예약일 "wr_link1_hit" => 0, "wr_link2_hit" => 0, "wr_trackback" => '', "wr_hit" => 0, "wr_good" => 0, "wr_nogood" => 0, "mb_id" => 'tktravel', "wr_password" => $wr_password, // 비밀번호 (임의 값) "wr_name" => 'TK_API', "wr_email" => 'cs@tktravelkorea.com', "wr_homepage" => $wr_homepage, // 할인정보 "wr_datetime" => $g4['time_ymdhis'], // 등록시간 "wr_last" => $g4['time_ymdhis'], // 등록시간 "wr_ip" => $_SERVER['REMOTE_ADDR'], // 등록IP "wr_1" => 'Y', // paySta (M:미결제, Y:결제완료) "wr_2" => $wr_2, // 예약시간 "wr_3" => $wr_3, // 탑승인원 "wr_4" => $wr_4, // 이름 "wr_5" => $wr_5, // 전화번호 "wr_6" => $wr_6, // 선입금 - 결제방법 "wr_7" => $wr_7, // 결제금액 "wr_8" => '', "wr_9" => '', "wr_10" => '', "wr_15" => '', // 접수자 "wr_16" => '', // 통화일 "wr_17" => '', // 결과 "wr_18" => $wr_18, // 선입금 - 날짜 "wr_19" => $wr_19, // 이메일 "wr_20" => '', "wr_21" => $wr_21, // 예약 유입경로 "wr_22" => '', "wr_23" => '', // 발권유무 (미사용) "wr_25" => '', // 선입금 - 입금자 "wr_26" => '0', // 잔금 - 금액 "wr_27" => '', // 잔금 - 날짜 "wr_28" => '', // 잔금 - 입금자 "wr_29" => '', // 잔금 - 결제방법 "wr_pri" => $wr_7, // 선입금 - 금액 "wr_dis" => '0', // 할인율 "tk_res_no" => $order_code // TK 예약번호 ); $sql = getInsertQuery($write_table, $insert); if(DEV_MODE){ p($sql); } // DB 처리 if(DEV_MODE == 0){ Log::save(sprintf("%s(%d) DB Insert : %s", __FILE__, __LINE__, $sql), '', 'tk/'.date('Ym')); sql_query($sql); $wr_id = mysql_insert_id(); // 부모 아이디에 UPDATE sql_query("update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' "); if(DEV_MODE){ p("DB Process..."); } Log::save(sprintf("%s(%d) Create Order Process : %s", __FILE__, __LINE__, $wr_id), '', 'tk/'.date('Ym')); // 예약상태 변경 (API 전송상태 > 전송성공) $path = "/orders/update/".$order_code; $call_data = array( 'api_status' => "U", ); $result = call($path, $call_data, "POST"); Log::save(sprintf("%s(%d) Update api_status : %s", __FILE__, __LINE__, $call_data['api_status']), '', 'tk/'.date('Ym')); // TK API 연동 행사인원정보 DB 기록 220508 insert_reserve_count($site_id, $wr_link, $wr_2, 'API_INSERT', $wr_id); // 알림톡 발송 echo "{$wr_id} ■ "; } } echo "\nEND"; ####################################################################### ?>