load->helper('tuniu'); } public function index(){ exit('前方高能!!'); } //帐号绑定 public function bindAccount(){ $timestamp = time(); $data = '{"account":"phoebe@hainatravel.com","defaultPay":0}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $accountJson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "function": "paymentSign", "timestamp": '.$timestamp.', "data":'.$data.' }'; $returnJson = post_tuniu(TUNIU_FLIGHT_API,$accountJson,'POST'); //print_r($returnData); echo $returnJson; } //查询钱包接口 public function checkWallet(){ $timestamp = time(); $data = '{}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $walletJson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "function": "tuNiuWalletInfo", "timestamp": '.$timestamp.', "data":'.$data.' }'; $returnJson = post_tuniu(TUNIU_FLIGHT_API,$walletJson,'POST'); //print_r($returnData); echo $returnJson; } //保险查询 public function getinsurance(){ $timestamp = time(); $data = '{}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $insuranceJson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "function": "insurance", "timestamp": '.$timestamp.', "data":'.$data.' }'; $returnJson = post_tuniu(TUNIU_FLIGHT_API,$insuranceJson,'POST'); //print_r($returnData); echo $returnJson; } //查询接口 public function searchForHt(){ $departDate = $this->input->get_post('departDate'); $departCode = $this->input->get_post('departCode'); $arriveCode = $this->input->get_post('arriveCode'); if(empty($departDate) || empty($departCode) || empty($arriveCode)){ exit('请传入正确的参数,如有疑问请联系CYC!!!'); } $url = 'https://www.trainspread.com/guide.php/flight/search/?departDate='.$departDate.'&departCode='.$departCode.'&arriveCode='.$arriveCode; $json = post_tuniu($url); $data['data'] = json_decode($json); $this->load->view('searchForHt',$data); } //下单接口 public function addorders(){ //接收参数 $departime = $this->input->get_post('departime'); $fromcode = $this->input->get_post('fromcode'); $tocode = $this->input->get_post('tocode'); $flightnumber = $this->input->get_post('flightnumber'); //测试数据 $deparTime = '2019-11-15'; $fromCode = 'BJS'; $toCode = 'SHA'; $flightNumber = 'KN5955'; //查询到sessionid $searchJson = get_serach_json($deparTime,$fromCode,$toCode,$flightNumber); $returnJson = post_tuniu(TUNIU_FLIGHT_API,$searchJson,'POST'); $returnData = json_decode($returnJson); $sessionId = $returnData->data->queryResultList['0']->resourceList['0']->sessionId; //$sessionId = 'eyJuYW1lIjoiZGlzdE5ldyIsImZrIjoiTkFZI1NIQSNLTjU5NTUjMjAxOS0wOC0xNSIsInNpIjo4LCJjYSI6IlkiLCJjbyI6IkgiLCJhcCI6IjUxOCIsImNwIjoiNzcyIn0'; echo $sessionId; //获取航班信息,订单信息 //拼接下单报文 $data = '{"contactTel":"18877381547","flight":{"adtPrice":1111,"arriveCityCode":"'.$toCode.'","cabinClass":"Y","cabinCode":"H","departureCityCode":"'.$fromCode.'","departureDate":"'.$deparTime.'","flightNum":"'.$flightNumber.'"},"remark":"haina123456","sessionId":"'.$sessionId.'","touristList":[{"birthday":"1992-08-13","firstName":"chen","lastName":"yuchao","name":"陈宇超","personType":"ADT","psptId":"450302199208131039","psptType":1,"tel":"18877381547"}]}'; $timestamp = time(); $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $bookJson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "timestamp": '.$timestamp.', "function": "createOrder", "data":'.$data.' }'; //echo $bookJson;die(); $returnJson = post_tuniu(TUNIU_FLIGHT_API,$bookJson,'POST'); //print_r($returnData); echo $returnJson; //生成报文 } //请求支付接口 public function payorders(){ $order = $this->input->get_post('order'); $order = '1226443588'; if(empty($order)){ exit('订单号为空'); }else{ //拼接支付报文 $timestamp = time(); $data = '{"account":"phoebe@hainatravel.com","orderId":"'.$order.'","payType":1}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $payjson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "timestamp": '.$timestamp.', "function": "paymentOrder", "data":'.$data.' }'; $returnJson = post_tuniu(TUNIU_FLIGHT_API,$payjson,'POST'); echo $returnJson; } } //单个订单详情查询接口 public function getorderinfos(){ $order = $this->input->get_post('order'); if(empty($order)){ exit('订单号为空'); }else{ //拼接支付报文 $timestamp = time(); $data = '{"orderId":"'.$order.'"}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $orderinfojson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "timestamp": '.$timestamp.', "function": "orderDetail", "data":'.$data.' }'; $returnJson = post_tuniu(TUNIU_FLIGHT_API,$orderinfojson,'POST'); echo $returnJson; } } //机票退票费查询接口 public function refundfee(){ $order = $this->input->get_post('order'); $ticketcode = $this->input->get_post('ticketcode'); $order = '1226443588'; $ticketcode = '822-2386171483'; if(empty($order)){ exit('订单号为空'); }else{ //拼接支付报文 $timestamp = time(); $data = '{"orderId":'.$order.',"ticketCodeList":["'.$ticketcode.'"]}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $refundfeejson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "timestamp":'.$timestamp.', "function":"refundFee", "data":'.$data.' }'; //echo $refundfeejson;die(); $returnJson = post_tuniu(TUNIU_FLIGHT_API,$refundfeejson,'POST'); echo $returnJson; } } //机票退票接口 public function refundapply(){ $order = $this->input->get_post('order'); $ticketcode = $this->input->get_post('ticketcode'); $order = '1226443588'; $ticketcode = '822-2386171483'; if(empty($order)){ exit('订单号为空'); }else{ //拼接支付报文 $timestamp = time(); $data = '{"attachmentList":[],"orderId":"'.$order.'","refundReason":"行程调整","refundType":1,"ticketCodeList":["'.$ticketcode.'"]}'; $sign = md5(TUNIU_FLIGHT_KEY.$data.$timestamp); $returnorderjson = '{ "purchaseId": '.TUNIU_FLIGHT_ID.', "sign": "'.$sign .'", "timestamp": '.$timestamp.', "function": "refundApply", "data":'.$data.' }'; echo $returnorderjson;die(); $returnJson = post_tuniu(TUNIU_FLIGHT_API,$returnorderjson,'POST'); echo $returnJson; } } }