You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
information-system/application/third_party/train/controllers/index.php

1205 lines
56 KiB
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
//[{"ticket_no":"E855807446107001B","passengername":"陈斯坤","passporttypeseid":"1","passportseno":"450521199406098313"}]
class Index extends CI_Controller{
private $order_status_msg;//订单状态说明
private $key;
private $cx_api;//查询api
private $dp_api;//订票api
private $qxdd_api;//取消订单api
private $pay_api;//请求出票,支付
private $refund_api;//线上退票
private $status_api;//状态查询
private $code_zw;//座次信息
private $piaotype;//票种信息
private $passportty;//证件类型信息
public function __construct()
{
// header("Content-Type: text/html;charset=utf-8");
parent::__construct();
$this->config->load('config');
$this->order_status_msg=$this->config->item('train_order_status_msg');
$this->key=JUHE_TRAIN_API_KEY;
$this->cx_api=JUHE_TRAIN_CX_API;
$this->dp_api=JUHE_TRAIN_DP_API;
$this->qxdd_api=JUHE_TRAIN_CANCEL_API;
$this->pay_api=JUHE_TRAIN_PAY_API;
$this->refund_api=JUHE_TRAIN_REFUND_API;
$this->status_api=JUHE_TRAIN_STATUS_API;
$this->code_zw=$this->config->item('train_zw');
$this->piaotype=$this->config->item('train_piaotype');
$this->passportty=$this->config->item('train_passportty');
$this->load->model("BIZ_train_model");//加载模型
}
public function index()
{
$this->ht_train_order_info();
// $this->load->view('bootstrap3/header');
// $this->load->view('welcome');
// $this->load->view('bootstrap3/footer');
}
public function welcome(){
$this->load->view('bootstrap3/header');
$this->load->view('welcome');
$this->load->view('bootstrap3/footer');
}
public function export_bk(){
$from_date=$this->input->post("from_date");
$to_date=$this->input->post("to_date");
if(!empty($from_date) && !empty($to_date)){
$from_date=date("Y-m-d H:i",strtotime($from_date));
$to_date=date("Y-m-d H:i",strtotime($to_date));
$r="";//聚合返回的数据
$string_r="";//写入excel表格数据
$coli_id="";
$wl_name="";
$arr="";//整合完成的数组
$url=JUHE_TRAIN_EXPORT_API;//请求的url
$url.="?key=".$this->key;
$url.="&since=".$from_date;
$url.="&before=".$to_date;
$r=$this->get_data($url);
// $r=mb_convert_encoding($r, "utf-8", "gb2312");
$r=explode("\n",$r);
$excel_head='"记录编号","时间","火车票订单号","最新余额","信息","变化值","翰特订单号","外联"';
$excel_head=mb_convert_encoding($excel_head,"gbk","utf-8");
$string_r=$excel_head;
for($i=1;$i<count($r)-1;$i++){
$r_info=explode(",",$r[$i]);
$juhe_order=substr($r_info[4], 1,14);
$coli_id=$this->BIZ_train_model->jh_order_get_coli_id($juhe_order);
if($coli_id){
$r_info[6]=$coli_id[0]->COLI_ID;
$wl_name = $this->BIZ_train_model->get_operatorinfo($r_info[6]);
$r_info[7]=mb_convert_encoding($wl_name[0]->OPI_Name, "gbk", "utf-8");
// $r_info[7]=$wl_name[0]->OPI_Name;
}else{
$r_info[6]="";
$r_info[7]="";
}
$r_info[3]=mb_convert_encoding($r_info[3],"utf-8","gbk");
if(is_numeric(mb_strpos($r_info[3],"扣款"))){
$r_info[3]="票款";
}
if(is_numeric(mb_strpos($r_info[3],"扣手续费"))){
$r_info[3]="手续费";
}
if(is_numeric(mb_strpos($r_info[3],"线上退票成功"))){
$r_info[3]="退票费";
}
$r_info[3]=mb_convert_encoding($r_info[3],"gbk","utf-8");
$arr[]=$r_info;
}
$ht_order_sort = array();
$wl_name_sort = array();
foreach ($arr as $a) {
$wl_name_sort[] = $a[7];
}
foreach ($arr as $a) {
$ht_order_sort[] = $a[6];
}
array_multisort($wl_name_sort, $ht_order_sort,SORT_ASC, SORT_STRING, $arr);
foreach ($arr as $a) {
$ht_order_sort[] = $a[6];
$string_r.="\n"."$a[0],$a[2],$a[4],$a[5],$a[3],$a[1]".',"'.$a[6].'"'.',"'.$a[7].'"';
}
$string_r=mb_convert_encoding($string_r,"utf-8","gbk");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=juhe_train.csv");
echo $string_r;die;
}
$this->load->view('bootstrap3/header');
$this->load->view('export');
$this->load->view('bootstrap3/footer');
}
public function export(){
$from_date=$this->input->post("from_date");
$to_date=$this->input->post("to_date");
$examine=$this->input->post("examine");
$reback=array();//返回的数据
$reback["from_date"]=$from_date;
$reback["to_date"]=$to_date;
$reback["examine"]=$examine;
if(!empty($from_date) && !empty($to_date)){
$from_date=date("Y-m-d H:i",strtotime($from_date));
$to_date=date("Y-m-d H:i",strtotime($to_date));
$r="";//聚合返回的数据
$string_r="";//输出
$coli_id="";
$wl_name="";
$arr="";//整合完成的数组,写进excel表的数据
$url=JUHE_TRAIN_EXPORT_API;//请求的url
$url.="?key=".$this->key;
$url.="&since=".$from_date;
$url.="&before=".$to_date;
$r=$this->get_data($url);
$r=explode("\n",$r);
for($i=1;$i<count($r)-1;$i++){
$r_info=explode(",",$r[$i]);
$juhe_order=substr($r_info[4], 1,14);
$coli_id=$this->BIZ_train_model->jh_order_get_coli_id($juhe_order);
//去掉数据两边的双引号
$r_info[2]=substr($r_info[2], stripos($r_info[2],'"')+1,strrpos($r_info[2],'"')-1);
$r_info[1]=substr($r_info[1], stripos($r_info[1],'"')+1,strrpos($r_info[1],'"')-1);
$r_info[5]=substr($r_info[5], stripos($r_info[5],'"')+1,strrpos($r_info[5],'"')-1);
$r_info[6]="";//储存团名
$r_info[7] = "";//储存外联名
$r_info[8] = "";//储存coli_id
if($coli_id){
$r_info[8] = $coli_id[0]->COLI_ID;
$gri_no=$this->BIZ_train_model->get_gri_no($r_info[8]);//团名
$wl_name = $this->BIZ_train_model->get_operatorinfo($r_info[8]);
if($gri_no){
$r_info[6] = $gri_no[0]->GRI_No;
}
if($wl_name){
$r_info[7] = $wl_name[0]->OPI_Name;
}
}
$r_info[3]=mb_convert_encoding($r_info[3],"utf-8","gbk");
if(is_numeric(mb_strpos($r_info[3],"充值"))){
if(is_numeric(mb_strpos($r_info[3],"扣款"))){
$r_info[3]="票款(有充值)";
}
if(is_numeric(mb_strpos($r_info[3],"扣手续费"))){
$r_info[3]="手续费(有充值)";
}
if(is_numeric(mb_strpos($r_info[3],"线上退票成功"))){
$r_info[3]="退票费(有充值)";
}
}
if(is_numeric(mb_strpos($r_info[3],"扣款"))){
$r_info[3]="票款";
}
if(is_numeric(mb_strpos($r_info[3],"扣手续费"))){
$r_info[3]="手续费";
}
if(is_numeric(mb_strpos($r_info[3],"线上退票成功"))){
$r_info[3]="退票费";
}
// $r_info[3]=mb_convert_encoding($r_info[3],"gbk","utf-8");
$arr[]=$r_info;
}
if(empty($examine)){
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=juhe_train.xml");
$string_r= $this->load->view("train_transaction_excel",array("arr"=>$arr),TRUE);
echo $string_r;die;
}else{
krsort($arr);//数组倒序
$reback["data"]=$arr;
}
}
$this->load->view('bootstrap3/header');
$this->load->view('export',$reback);
$this->load->view('bootstrap3/footer');
}
//用于外联审核账单,查询我的支付信息
public function get_ht_my_pay(){
$coli_id=$this->input->get("id");
$reback=array();
$reback["status"]=0;
if(is_numeric($coli_id)){
$r=$this->BIZ_train_model->get_train_order_cost($coli_id);
$reback["status"]=1;
$reback["datas"]=$r;
}
echo json_encode($reback);
return false;
}
public function search(){
$from=$this->input->post("from");
$to=$this->input->post("to");
$date=$this->input->post("date");
$url = "http://op.juhe.cn/trainTickets/cityCode";
$post_from = array("stationName" => $from,"key"=>$this->key);
$post_to = array("stationName" => $to,"key"=>$this->key);
$output_from=$this->my_post($url,$post_from);
$output_to=$this->my_post($url,$post_to);
if($output_from["error_code"]===0 && $output_to["error_code"]===0){//error_code=0代表成功其他有错返回错误信息
// var_dump($output_from["result"]["code"]);var_dump($output_to["result"]["code"]);
$ticket_data=array("key"=>$this->key,"train_date"=>$date,"from_station"=>$output_from["result"]["code"],"to_station"=>$output_to["result"]["code"]);
$ticket=$this->my_post("http://op.juhe.cn/trainTickets/ticketsAvailable",$ticket_data);
if($ticket["error_code"]!=0){ //error_code=0代表成功其他有错返回错误信息
die(json_encode(array("status"=>0,"mes"=>$ticket["reason"])));//
}else{
$backdata="";
$backdata= $this->load->view("booking_table",array("result"=>$ticket["result"],"date"=>$date),true);
die(json_encode(array("status"=>1,"mes"=>"成功","backdata"=>$backdata)));
}
}else{
die(json_encode(array("status"=>0,"mes"=>"站点名称错误")));
}
}
public function ch_train_search(){
$from=$this->input->get("from");
$to=$this->input->get("to");
$date=$this->input->get("date");
$ticket_data=array("key"=>$this->key,"train_date"=>$date,"from_station"=>$from,"to_station"=>$to);
$ticket=$this->post_data("http://op.juhe.cn/trainTickets/ticketsAvailable",$ticket_data);
$ticket=json_decode($ticket);
}
public function ch_train_search_t(){
// $seat_key = array(
// 'A' => @$train_item->gr_num,//高级软卧
// 'X' => @$train_item->qt_num,//其他
// '4' => @$train_item->rw_num,//软卧
// '2' => @$train_item->rz_num,//软座
// 'P' => @$train_item->tz_num,//特等座
// '13' => @$train_item->wz_num,//无座
// '3' => @$train_item->yw_num,//硬卧
// '1' => @$train_item->yz_num,//硬座
// 'O' => @$train_item->ze_num,//二等座
// 'M' => @$train_item->zy_num,//一等座
// '9' => @$train_item->swz_num//商务座
// );
// $from=$this->input->post("from");
// $to=$this->input->post("to");
// $date=$this->input->post("date");
$this->load->model("BIZ_train_model");
//$code=$this->BIZ_train_model->get_train_station_code(array("TRS_StationCN"=>"北京南"));
//var_dump($code[0]->TRS_Code);die;
$from=$this->input->get("from_station");
$to=$this->input->get("to_station");
$date=$this->input->get("queryDate");
// $url = "http://op.juhe.cn/trainTickets/cityCode";
// $post_from = array("stationName" => $from,"key"=>$this->key);
// $post_to = array("stationName" => $to,"key"=>$this->key);
// $output_from=$this->my_post($url,$post_from);
// $output_to=$this->my_post($url,$post_to);
//if($output_from["error_code"]===0 && $output_to["error_code"]===0){//error_code=0代表成功其他有错返回错误信息
// var_dump($output_from["result"]["code"]);var_dump($output_to["result"]["code"]);
$ticket_data=array("key"=>$this->key,"train_date"=>$date,"from_station"=>$from,"to_station"=>$to);
$ticket=$this->post_data("http://op.juhe.cn/trainTickets/ticketsAvailable",$ticket_data);
$ticket=json_decode($ticket);
// var_dump($ticket);
if($ticket->error_code==0){
$reback='{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{"datas":[';
$reback_list="";
foreach ($ticket->result->list as $v) {
$seat_key="";//座位代码串
$yp_info="";//价格
// $seat_key.=$v->gjrw_price!=0?"A":"";
// $seat_key.=$v->qtxb_price!=0?"X":"";
// $seat_key.=$v->rw_price!=0?"4":"";
// $seat_key.=$v->rz_price!=0?"2":"";
// $seat_key.=$v->tdz_price!=0?"P":"";
// $seat_key.=$v->wz_price!=0?"13":"";
// $seat_key.=$v->yw_price!=0?"3":"";
// $seat_key.=$v->yz_price!=0?"1":"";
// $seat_key.=$v->edz_price!=0?"O":"";
// $seat_key.=$v->ydz_price!=0?"M":"";
// $seat_key.=$v->swz_price!=0?"9":"";
if($v->gjrw_price!=0){
$seat_key.= "A";
$yp_info.="A".str_pad($v->gjrw_price,5,"0",STR_PAD_LEFT).str_pad($v->gjrw_num,4,"0",STR_PAD_LEFT);
}
if($v->qtxb_price!=0){
$seat_key.= "X";
$yp_info.="X".str_pad($v->qtxb_price,5,"0",STR_PAD_LEFT).str_pad($v->qtxb_num,4,"0",STR_PAD_LEFT);
}
if($v->rw_price!=0){
$seat_key.= "4";
$yp_info.="4".str_pad($v->rw_price,5,"0",STR_PAD_LEFT).str_pad($v->rw_num,4,"0",STR_PAD_LEFT);
}
if($v->rz_price!=0){
$seat_key.= "2";
$yp_info.="2".str_pad($v->rz_price,5,"0",STR_PAD_LEFT).str_pad($v->rz_num,4,"0",STR_PAD_LEFT);
}
if($v->tdz_price!=0){
$seat_key.= "P";
$yp_info.="P".str_pad($v->tdz_price,5,"0",STR_PAD_LEFT).str_pad($v->tdz_num,4,"0",STR_PAD_LEFT);
}
if($v->yw_price!=0){
$seat_key.= "3";
$yp_info.="3".str_pad($v->yw_price,5,"0",STR_PAD_LEFT).str_pad($v->yw_num,4,"0",STR_PAD_LEFT);
}
if($v->yz_price!=0){
$seat_key.= "1";
$yp_info.="1".str_pad($v->yz_price,5,"0",STR_PAD_LEFT).str_pad($v->yz_num,4,"0",STR_PAD_LEFT);
}
if($v->edz_price!=0){
$seat_key.= "O";
$yp_info.="O".str_pad($v->edz_price,5,"0",STR_PAD_LEFT).str_pad($v->edz_num,4,"0",STR_PAD_LEFT);
}
if($v->ydz_price!=0){
$seat_key.= "M";
$yp_info.="M".str_pad($v->ydz_price,5,"0",STR_PAD_LEFT).str_pad($v->ydz_num,4,"0",STR_PAD_LEFT);
}
if($v->swz_price!=0){
$seat_key.= "9";
$yp_info.="9".str_pad($v->swz_price,5,"0",STR_PAD_LEFT).str_pad($v->swz_num,4,"0",STR_PAD_LEFT);
}
if($v->wz_price!=0){
$seat_key.= "13";
$yp_info.="1".str_pad($v->wz_price,5,"0",STR_PAD_LEFT)."3".str_pad($v->wz_num,3,"0",STR_PAD_LEFT);
}//无座数量3开头
$start_station_telecode=$this->BIZ_train_model->get_train_station_code(array("TRS_StationCN"=>$v->start_station_name));//返回站点简码
$end_station_telecode=$this->BIZ_train_model->get_train_station_code(array("TRS_StationCN"=>$v->end_station_name));//返回站点简码
$reback_list.=',{"train_no":"'.$v->train_no.'","station_train_code":"'.$v->train_code.'","start_station_telecode":"'.$start_station_telecode[0]->TRS_Code.'","start_station_name":"'.$v->start_station_name.'","end_station_telecode":"'.$end_station_telecode[0]->TRS_Code.'","end_station_name":"'.$v->end_station_name.'","from_station_telecode":"'.$v->from_station_code.'","from_station_name":"'.$v->from_station_name.'","to_station_telecode":"'.$v->to_station_code.'","to_station_name":"'.$v->to_station_name.'","start_time":"'.$v->start_time.'","arrive_time":"'.$v->arrive_time.'","day_difference":"'.$v->arrive_days.'","train_class_name":"","lishi":"'.$v->run_time.'","canWebBuy":"Y","lishiValue":"'.$v->run_time_minute.'","yp_info":"'.$yp_info.'","control_train_day":"20301231","start_train_date":"'.$v->train_start_date.'","seat_feature":"O3M393","yp_ex":"O0M090","train_seat_feature":"3","seat_types":"'.$seat_key.'","location_code":"P2","from_station_no":"01","to_station_no":"11","control_day":29,"sale_time":"'.$v->sale_date_time.'","is_support_card":"1","note":"","controlled_train_flag":"0","controlled_train_message":"正常车次,不受控","gg_num":"--","gr_num":"'.$v->gjrw_num.'","qt_num":"'.$v->qtxb_num.'","rw_num":"'.$v->rw_num.'","rz_num":"'.$v->rz_num.'","tz_num":"'.$v->tdz_num.'","wz_num":"'.$v->wz_num.'","yb_num":"--","yw_num":"'.$v->yw_num.'","yz_num":"'.$v->yz_num.'","ze_num":"'.$v->edz_num.'","zy_num":"'.$v->ydz_num.'","swz_num":"'.$v->swz_num.'"}';
}
}
$reback_list=substr($reback_list, 1);//去掉多于的,
$reback.=$reback_list.'],"flag":true,"searchDate":""},"messages":[],"validateMessages":{}}';
echo($reback);
// if($ticket["error_code"]!=0){ //error_code=0代表成功其他有错返回错误信息
// die(json_encode(array("status"=>0,"mes"=>$ticket["reason"])));//
// }else{
// $backdata="";
// //$backdata= $this->load->view("booking_table",array("result"=>$ticket["result"],"date"=>$date),true);
// //die(json_encode(array("status"=>1,"mes"=>"成功","backdata"=>$backdata)));
// }
//}else{
//die(json_encode(array("status"=>0,"mes"=>"站点名称错误")));
//}
}
public function booking(){
$data['from_station_code']=$this->input->get("from_station_code");
$data['from_station_name']=$this->input->get("from_station_name");
$data['to_station_code']=$this->input->get("to_station_code");
$data['to_station_name']=$this->input->get("to_station_name");
$data['train_code']=$this->input->get("train_code");
$data['date']=$this->input->get("date");
$data['start_time']=$this->input->get("start_time");
$data['arrive_time']=$this->input->get("arrive_time");
$data['swz_num']=$this->input->get("swz_num");
$data['swz_price']=$this->input->get("swz_price");
$data['tdz_num']=$this->input->get("tdz_num");
$data['tdz_price']=$this->input->get("tdz_price");
$data['ydz_num']=$this->input->get("ydz_num");
$data['ydz_price']=$this->input->get("ydz_price");
$data['edz_num']=$this->input->get("edz_num");
$data['edz_price']=$this->input->get("edz_price");
$data['gjrw_num']=$this->input->get("gjrw_num");
$data['gjrw_price']=$this->input->get("gjrw_price");
$data['rw_num']=$this->input->get("rw_num");
$data['rw_price']=$this->input->get("rw_price");
$data['yw_num']=$this->input->get("yw_num");
$data['yw_price']=$this->input->get("yw_price");
$data['rz_num']=$this->input->get("rz_num");
$data['rz_price']=$this->input->get("rz_price");
$data['yz_num']=$this->input->get("yz_num");
$data['yz_price']=$this->input->get("yz_price");
$data['wz_num']=$this->input->get("wz_num");
$data['wz_price']=$this->input->get("wz_price");
$this->load->view('bootstrap3/header');
$this->load->view('booking',$data);
$this->load->view('bootstrap3/footer');
}
//接收订单COLD_SN和客户BPE_SN 获取车次乘客信息拼接成聚合提交订单的url
public function get_sn_submit_juhe() {
$cold_sn=$this->input->get("order");
$bpe_sn=$this->input->get("people");
$data = array();
$rebakc=array();//返回数据
$rebakc["status"]=0;
$rebakc["mes"]="";
if(!is_numeric($cold_sn)){
$rebakc["mes"]="订单号是数字";
echo json_encode($rebakc);
return false;
}
if(empty($bpe_sn)){
$rebakc["mes"]="请选择乘客";
echo json_encode($rebakc);
return false;
}
$data['train'] = $this->BIZ_train_model->biz_order_detail($cold_sn);
$data['people_list']=$this->BIZ_train_model->in_bpesn_people_info($bpe_sn);
if (empty($data['train'])) {
//显示错误,找不到车次
$rebakc["mes"]="找不到车次";
echo json_encode($rebakc);
return false;
}
if (empty($data['people_list'])) {
//显示错误,找不到用户信息
$rebakc["mes"]="找不到乘客信息";
echo json_encode($rebakc);
return false;
}
if (count($data['people_list']) > 5) {
//显示错误,用户超过五个
$rebakc["mes"]="乘客不能超过五个";
echo json_encode($rebakc);
return false;
}
$db_train_zw = $this->config->item('db_train_zw');
$train_zw = $this->config->item('train_zw');
$zwcode = $db_train_zw[$data['train']->Aircraft]; //座位简码
$zwname = $train_zw[$db_train_zw[$data['train']->Aircraft]]; //座位名称
$passengers="";
foreach ($data['people_list'] as $key => $item) {
//乘客姓名
$passengersename = trim($item->BPE_FirstName) . trim($item->BPE_MiddleName) . trim($item->BPE_LastName);
//乘客类型
switch ($item->BPE_GuestType) {
case 1:
$piaotype = 1;
$piaotypename = "成人票";
break;
case 2:
$piaotype = 2;
$piaotypename = "儿童票";
break;
default://外国人应该就两种票吧
$piaotype = 1;
$piaotypename = "成人票";
break;
}
$passporttypeseid = "B"; //护照
$passporttypeseidname = "护照";
$passportseno = $item->BPE_Passport;
$passengers.=',{"passengerid":' . ( ++$key) . ',"passengersename":"' . $passengersename . '","piaotype":"' . $piaotype . '","piaotypename":"' . $piaotypename . '","passporttypeseid":"' . $passporttypeseid . '","passporttypeseidname":"' . $passporttypeseidname . '","passportseno":"' . $passportseno . '","price":"1","zwcode":"' . $zwcode . '","zwname":"' . $zwname . '"}';
}
$passengers.="]";
$passengers = substr($passengers, 1);
$passengers = "[" . $passengers;
$url=$this->dp_api;
$post_data=array(
"key"=>$this->key,
"user_orderid"=>$cold_sn,//自定义订单号
"train_date"=>substr($data["train"]->DepartureDate, 0, 10),
"from_station_name"=>$data["train"]->DepartAirport_cn,
"from_station_code"=>$data["train"]->DepartAirport,
"to_station_code"=>$data["train"]->ArrivalAirport,
"to_station_name"=>$data["train"]->ArrivalAirport_cn,
"passengers"=>$passengers,
"checi"=>$data["train"]->FlightsNo
);
$bakc_json=$this->post_data($url,$post_data);
$bakc=json_decode($bakc_json);//json=>obj
$add_data=new StdClass();
$add_data->JOL_COLD_SN=(int)$cold_sn;
$add_data->JOL_Status="0";
$add_data->JOL_RebackMsg=$bakc->reason;
$add_data->JOL_FromStation=$data["train"]->DepartAirport_cn;
$add_data->JOL_ToStation=$data["train"]->ArrivalAirport_cn;
$add_data->JOL_FromStationCode=$data["train"]->DepartAirport;
$add_data->JOL_ToStationCode=$data["train"]->ArrivalAirport;
$add_data->JOL_TrainCode=$data["train"]->FlightsNo;
$add_data->JOL_BackTxt=$bakc_json;
if(!$bakc->error_code){
$add_data->JOL_JuheOrder=$bakc->result->orderid;
$rebakc["status"]=1;
$rebakc["order"]=$bakc->result->orderid;
$rebakc["mes"]="订单提交成功,等待回调";
}else{
$add_data->JOL_JuheOrder=null;
$rebakc["mes"]= $bakc_json;
$add_data->JOL_Status="e";
}
$add_back_data=$this->BIZ_train_model->add_biz_jol($add_data);
echo json_encode($rebakc);
return false;
}
//根据汉特订单明细表SN来获取车次乘客信息拼接成聚合提交订单的url
public function submit_juhe_order() {
$cold_sn=$this->input->get("order");
$data = array();
$rebakc=array();//返回数据
$rebakc["status"]=0;
$rebakc["mes"]="";
if(!is_numeric($cold_sn)){
$rebakc["mes"]="订单号是数字";
echo json_encode($rebakc);
return false;
}
$data['train'] = $this->BIZ_train_model->biz_order_detail($cold_sn);
if (empty($data['train'])) {
//显示错误,找不到车次
$rebakc["mes"]="找不到车次";
echo json_encode($rebakc);
return false;
}
$data['people_list'] = $this->BIZ_train_model->biz_people($cold_sn);
if (empty($data['people_list'])) {
//显示错误,找不到用户信息
$rebakc["mes"]="找不到乘客信息";
echo json_encode($rebakc);
return false;
}
if (count($data['people_list']) > 5) {
//显示错误,用户超过五个
$rebakc["mes"]="乘客不能超过五个";
echo json_encode($rebakc);
return false;
}
$db_train_zw = $this->config->item('db_train_zw');
$train_zw = $this->config->item('train_zw');
$passengers='';
foreach ($data['people_list'] as $key => $item) {
$zwcode = $db_train_zw[$data['train']->Aircraft]; //座位简码
$zwname = $train_zw[$db_train_zw[$data['train']->Aircraft]]; //座位名称
//乘客姓名
$passengersename = trim($item->BPE_FirstName) . trim($item->BPE_MiddleName) . trim($item->BPE_LastName);
//乘客类型
switch ($item->BPE_GuestType) {
case 1:
$piaotype = 1;
$piaotypename = "成人票";
break;
case 2:
$piaotype = 2;
$piaotypename = "儿童票";
break;
default://外国人应该就两种票吧
$piaotype = 1;
$piaotypename = "成人票";
break;
}
$passporttypeseid = "B"; //护照
$passporttypeseidname = "护照";
$passportseno = $item->BPE_Passport;
$passengers.=',{"passengerid":' . ( ++$key) . ',"passengersename":"' . $passengersename . '","piaotype":"' . $piaotype . '","piaotypename":"' . $piaotypename . '","passporttypeseid":"' . $passporttypeseid . '","passporttypeseidname":"' . $passporttypeseidname . '","passportseno":"' . $passportseno . '","price":"1","zwcode":"' . $zwcode . '","zwname":"' . $zwname . '"}';
}
$passengers.="]";
$passengers = substr($passengers, 1);
$passengers = "[" . $passengers;
$url=$this->dp_api;
$post_data=array(
"key"=>$this->key,
"user_orderid"=>$cold_sn,//自定义订单号
"train_date"=>substr($data["train"]->DepartureDate, 0, 10),
"from_station_name"=>$data["train"]->DepartAirport_cn,
"from_station_code"=>$data["train"]->DepartAirport,
"to_station_code"=>$data["train"]->ArrivalAirport,
"to_station_name"=>$data["train"]->ArrivalAirport_cn,
"passengers"=>$passengers,
"checi"=>$data["train"]->FlightsNo
);
$bakc_json=$this->post_data($url,$post_data);
$bakc=json_decode($bakc_json);//json=>obj
$add_data=new StdClass();
$add_data->JOL_COLD_SN=(int)$cold_sn;
$add_data->JOL_Status="0";
$add_data->JOL_RebackMsg=$bakc->reason;
$add_data->JOL_FromStation=$data["train"]->DepartAirport_cn;
$add_data->JOL_ToStation=$data["train"]->ArrivalAirport_cn;
$add_data->JOL_FromStationCode=$data["train"]->DepartAirport;
$add_data->JOL_ToStationCode=$data["train"]->ArrivalAirport;
$add_data->JOL_TrainCode=$data["train"]->FlightsNo;
$add_data->JOL_BackTxt=$bakc_json;
if(!$bakc->error_code){
$add_data->JOL_JuheOrder=$bakc->result->orderid;
$rebakc["status"]=1;
$rebakc["order"]=$bakc->result->orderid;
$rebakc["mes"]="订单提交成功,等待回调";
}else{
$add_data->JOL_JuheOrder=null;
$rebakc["mes"]= $bakc_json;
$add_data->JOL_Status="e";
}
$add_back_data=$this->BIZ_train_model->add_biz_jol($add_data);
echo json_encode($rebakc);
return false;
}
//汉特接口
public function ht_api(){
$order=$this->input->get("order");
$rebakc=array();//返回数据
$rebakc["status"]=0;
$rebakc["mes"]="";
if(is_numeric($order)){
$this->load->model("order_people_model","op");
$data=$this->op->biz_people($order);
if(!empty($data->cold)){
$people_num=count($data->people);
if($people_num<=5){
$db_train_zw=$this->config->item('db_train_zw');
$train_zw=$this->config->item('train_zw');
if(!empty($db_train_zw[$data->cold[0]->Aircraft])){
$zwcode=$db_train_zw[$data->cold[0]->Aircraft];//座位简码
$zwname=$train_zw[$db_train_zw[$data->cold[0]->Aircraft]];//座位名称
$passengers="";//聚合订单数据
for($i=0;$i<$people_num;$i++){
$passengersename="";//乘客名字
if(!empty($data->people[$i]->BPE_FirstName)){
$passengersename.=$data->people[$i]->BPE_FirstName." ";
}
if(!empty($data->people[$i]->BPE_MiddleName)){
$passengersename.=$data->people[$i]->BPE_MiddleName." ";
}
if(!empty($data->people[$i]->BPE_LastName)){
$passengersename.=$data->people[$i]->BPE_LastName;
}
$passengersename=trim($passengersename);
//乘客类型
switch ($data->people[$i]->BPE_GuestType) {
case 1:
$piaotype=1;
$piaotypename="成人票";
break;
case 2:
$piaotype=2;
$piaotypename="儿童票";
break;
default://外国人应该就两种票吧
$piaotype=1;
$piaotypename="成人票";
break;
}
$passporttypeseid="B";//护照
$passporttypeseidname="护照";
$passportseno=$data->people[$i]->BPE_Passport;
$passengers.=',{"passengerid":'.($i+1).',"passengersename":"'.$passengersename.'","piaotype":"'.$piaotype.'","piaotypename":"'.$piaotypename.'","passporttypeseid":"'.$passporttypeseid.'","passporttypeseidname":"'.$passporttypeseidname.'","passportseno":"'.$passportseno.'","price":"1","zwcode":"'.$zwcode.'","zwname":"'.$zwname.'"}';
}
$passengers.="]";
$passengers=substr($passengers, 1);
$passengers="[".$passengers;
$url=$this->dp_api;
$post_data=array(
"key"=>$this->key,
"user_orderid"=>$order,//自定义订单号
"train_date"=>substr($data->cold[0]->COLD_StartDate, 0, 10),
"from_station_name"=>$data->cold[0]->LeaveStation,
"from_station_code"=>$data->cold[0]->DepartAirport,
"to_station_code"=>$data->cold[0]->ArrivalAirport,
"to_station_name"=>$data->cold[0]->ServerStation,
"passengers"=>$passengers,
"checi"=>$data->cold[0]->FlightsNo
);
var_dump($post_data);
die;
$bakc_json=$this->post_data($url,$post_data);
$bakc=json_decode($bakc_json);//json=>obj
$add_data=new StdClass();
$add_data->JOL_COLD_SN=(int)$order;
$add_data->JOL_Status="0";
$add_data->JOL_RebackMsg=$bakc->reason;
$add_data->JOL_FromStation=$data->cold[0]->LeaveStation;
$add_data->JOL_ToStation=$data->cold[0]->ServerStation;
$add_data->JOL_FromStationCode=$data->cold[0]->DepartAirport;
$add_data->JOL_ToStationCode=$data->cold[0]->ArrivalAirport;
$add_data->JOL_TrainCode=$data->cold[0]->FlightsNo;
$add_data->JOL_BackTxt=$bakc_json;
if(!$bakc->error_code){
$add_data->JOL_JuheOrder=$bakc->result->orderid;
$rebakc["status"]=1;
$rebakc["order"]=$bakc->result->orderid;
$rebakc["mes"]="订单提交成功,等待回调";
}else{
$add_data->JOL_JuheOrder=null;
$rebakc["mes"]= $bakc_json;
$add_data->JOL_Status="e";
}
$add_back_data=$this->op->add_jh_order($add_data);
}else{
$rebakc["mes"]="座次信息有误";
}
}else{
$rebakc["mes"]="乘客人数不得超过五个";
}
}else{
$rebakc["mes"]="此订单号不存在";
}
}else{
$rebakc["mes"]="此订单号不是数字";
}
// return $rebakc;
var_dump($rebakc);
die(json_encode($rebakc));
}
public function sub_callback(){
$data_post=$this->input->post();
$data=json_decode($data_post["data"]);
$this->load->model("order_people_model","op");
$update_data=new StdClass();
$update_data->JOL_BackTxt=$data_post["data"];
$update_data->JOL_RebackMsg=$data->msg;
$update_data->JOL_Status=$data->status;
$update_data->JOL_JuheOrder=$data->orderid;
$update_data->JOL_Price=$data->passengers[0]->price;
if($data->status=="2"){
$post_data=array(
"key"=>$this->key,
"orderid"=>$data->orderid
);
$back_json=$this->my_post($this->pay_api,$post_data);
$back=json_decode($back_json);
$update_data->JOL_BackTxt=$back_json;
$update_data->JOL_RebackMsg=$back->reason;
}elseif($data->status=="4"){
//付款成功 写入TOC表
$add_train_order_data->TOC_Memo=$data->orderid;
$add_train_order_data->TOC_COLD_SN=$data->user_orderid;
$add_train_order_data->TOC_TrainNumber=$data->checi;
$add_train_order_data->TOC_DepartureDate=$data->train_date;
$add_train_order_data->TOC_TicketCost=$data->orderamount;
$add_train_order_data->poundage=(count($data->passengers)*2)."";//手续费,每人两块,转换成字符串
$add_train_order_data->FOI_TrainNetOrderNo=$data->ordernumber;
$this->op->add_train_order($add_train_order_data);
}elseif($data->status=="7"){
//退票成功 写入TOC表
$newtime="";//记录最新操作时间
$refund_passportseno="";//退票人护照号
$refund_money="";//退票金额
foreach ($data->passengers as $p) {
//找出退票人,规则:操作时间最新的
if($p->refundTimeline){//是否有退票操作
//$p->refundTimeline[count($p->refundTimeline)-1] 最新操作
if($p->refundTimeline[count($p->refundTimeline)-1]->time > $newtime){
$newtime=$p->refundTimeline[count($p->refundTimeline)-1]->time;
$refund_passportseno=$p->refundTimeline[count($p->refundTimeline)-1]->detail->passportseno;
$refund_money=$p->refundTimeline[count($p->refundTimeline)-1]->detail->returnmoney;
}
}
}
$add_train_order_data->TOC_Memo=$data->orderid." ".$refund_passportseno;
$add_train_order_data->TOC_COLD_SN=$data->user_orderid;
$add_train_order_data->TOC_TrainNumber=$data->checi;
$add_train_order_data->TOC_DepartureDate=$data->train_date;
$add_train_order_data->TOC_TicketCost=-$refund_money;
$add_train_order_data->FOI_TrainNetOrderNo=null;//退票不用更新取票号,以此在模型里面判断是否为退票消息
$this->op->add_train_order($add_train_order_data);
}
$this->op->update_jh_order($update_data);
echo "success";
}
//汉特&聚合 订单列表
public function ht_order_list(){
$this->load->model("order_people_model","op");
$page_size=10;
$page=$this->input->get("page");
$order=$this->input->get("order");
$where="1=1";//搜索条件
$page_parameter="";//返回的分页条件参数
if(empty($page) or !is_numeric($page)){
$page=0;
}
if(!empty($order)){
$where="BIZ_ConfirmLineInfo.COLI_ID='{$order}' OR JOL_JuheOrder='{$order}'";
$list["order"]=$order;
$page_parameter="order=".$order."&";
}
$data=$this->op->get_order($page_size,$page,$where);
$list["data"]=$data->list;
$this->load->library('pagination');
$config['base_url'] = site_url("/apps/train/index/ht_order_list?{$page_parameter}");
$config['total_rows'] = $data->count;
$config['per_page'] = $page_size;
$config['page_query_string']=TRUE;
$config['query_string_segment']="page";
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['first_tag_open']=$config['last_tag_open']=$config['next_tag_open']=$config['prev_tag_open']=$config['num_tag_open']="<li>";
$config['first_tag_close']=$config['last_tag_close']=$config['next_tag_close']=$config['prev_tag_close']=$config['num_tag_close']="</li>";
$this->pagination->initialize($config);
$list["page_link"]=$this->pagination->create_links();
foreach ($list["data"] as $key => $value) {
$value->info=$this->order_status_msg[$value->JOL_Status];//自定义说明信息;
}
$this->load->view('bootstrap3/header');
$this->load->view('ht_order_list.html',$list);
$this->load->view('bootstrap3/footer');
}
//输入翰特订单号cols_id,获取火车订票的相关信息,模拟翰特订单详情页面
public function ht_train_order(){
$cols_id=$this->input->post("ht_order");
$list=new StdClass;
if(!empty($cols_id)){
$cold_sn=$this->BIZ_train_model->get_biz_cold($cols_id);
$list->wl=$this->BIZ_train_model->get_operatorinfo($cols_id);
$i=0;
$list->info=array();
foreach ($cold_sn as $v) {
$list->info[$i]=new StdClass;
$list->info[$i]->people=$this->BIZ_train_model->biz_people($v->COLD_SN);
$list->info[$i]->train=$this->BIZ_train_model->get_biz_foi($v->COLD_SN);
$list->info[$i]->status=$this->BIZ_train_model->get_biz_jol($v->COLD_SN);
$i++;
}
$list->cols_id=$cols_id;
}
$this->load->view('bootstrap3/header');
$this->load->view('ht_train_order.html',$list);
$this->load->view('bootstrap3/footer');
}
//输入翰特订单号cols_id,获取火车订票的相关信息,模拟翰特订单详情页面
public function ht_train_order_info(){
$cols_id=$this->input->post("ht_order");
$list=new StdClass;
if(!empty($cols_id)){
$cold_sn=$this->BIZ_train_model->get_biz_cold($cols_id);
$list->wl=$this->BIZ_train_model->get_operatorinfo($cols_id);
$i=0;
$list->info=array();
foreach ($cold_sn as $v) {
$list->info[$i]=new StdClass;
$list->info[$i]->people=$this->BIZ_train_model->biz_people($v->COLD_SN);
$list->info[$i]->train=$this->BIZ_train_model->get_biz_foi($v->COLD_SN);
$list->info[$i]->status=$this->BIZ_train_model->get_biz_jol($v->COLD_SN);
$i++;
}
$list->cols_id=$cols_id;
}
$this->load->view('bootstrap3/header');
$this->load->view('ht_train_order_info',$list);
$this->load->view('bootstrap3/footer');
}
//订单信息填写
public function booking_write(){
$this->load->model("order_people_model","op");
$order=$this->input->post("order");
$data["order"]="";
if(!empty($order) && is_numeric($order)){
$data["order"]=$this->op->biz_people($order);
$data["order_id"]=$order;
}
$data["code_zw"]=$this->code_zw;
$data["piaotype"]=$this->piaotype;
$data["passportty"]=$this->passportty;
$this->load->view('bootstrap3/header');
$this->load->view('booking_write',$data);
$this->load->view('bootstrap3/footer');
}
public function booking_do(){
//以下是为测试用,未做完善的判断!
$this->load->helper('form');
$this->load->library('my_form_validation');
$zw=$this->input->post("train_booking_zw");
$piaotype_post=$this->input->post("train_booking_piaotype");
$passengersename=$this->input->post("train_booking_passengersename");
$passportty=$this->input->post("train_booking_passportty");
$passportseno=$this->input->post("train_booking_passportseno");
$mobile=$this->input->post("train_booking_mobile");
$train_code=$this->input->post("train_booking_train_code");
$from_station_code=$this->input->post("train_booking_from_station_code");
$from_station_name=$this->input->post("train_booking_from_station_name");
$to_station_code=$this->input->post("train_booking_to_station_code");
$to_station_name=$this->input->post("train_booking_to_station_name");
$date=$this->input->post("train_booking_date");
$rebakc="";//返回数据
$flag=TRUE;//标示变量
$passengers="";//乘客信息集合
$num=count($zw);
if($num>5){
// die("乘客太多");
$rebakc="乘客太多";
}else{
$config_zw=$this->code_zw;//检查座位信息是否和配置文件相符合
$config_piaotype=$this->piaotype;//检查票种信息是否和配置文件相符合
$config_passportty=$this->passportty;//检查证件信息是否和配置文件相符合
for($i=0;$i<$num;++$i){
if(empty($config_zw[$zw[$i]])){
$zwname[]=$config_zw["1"];
$zwcode[]="1";
}else{
$zwname[]=$config_zw[$zw[$i]];
$zwcode[]=$zw[$i];
}
if(empty($config_piaotype[$piaotype_post[$i]])){
$piaotypename[]=$config_piaotype["1"];
$piaotype[]="1";
}else{
$piaotypename[]=$config_piaotype[$piaotype_post[$i]];
$piaotype[]=$piaotype_post[$i];
}
if(empty($config_passportty[$passportty[$i]])){
$zwname[]=$config_passportty["1"];
$zwcode[]="1";
}else{
$zwname[]=$config_passportty[$passportty[$i]];
$zwcode[]=$passportty[$i];
}
}
//表单验证
$this->form_validation->set_rules('train_booking_train_code', '车次不能为空', 'required');
$this->form_validation->set_rules('train_booking_from_station_name', '出发站点不能为空', 'required');
$this->form_validation->set_rules('train_booking_to_station_name', '目的站点不能空', 'required');
$this->form_validation->set_rules('train_booking_date', '日期不能为空', 'required');
$this->form_validation->set_rules('train_booking_passportseno[]', '证件号不能为空且为数字', 'required|numeric');
$this->form_validation->set_rules('train_booking_passengersename[]', '姓名不能为空', 'required');
if($this->form_validation->run()){
for($i=0;$i<$num;$i++){
$passengers.=',{"passengerid":'.($i+1).',"passengersename":"'.$passengersename[$i].'","piaotype":"'.$piaotype[$i].'","piaotypename":"'.$piaotypename[$i].'","passporttypeseid":"'.$passporttypeseid[$i].'","passporttypeseidname":"'.$passporttypeseidname[$i].'","passportseno":"'.$passportseno[$i].'","price":"1","zwcode":"'.$zwcode[$i].'","zwname":"'.$zwname[$i].'"}';
}
$passengers.="]";
$passengers=substr($passengers, 1);
$passengers="[".$passengers;
// die($passengers);
$url=$this->dp_api;
$post_data=array(
"key"=>$this->key,
"user_orderid"=>time(),//自定义订单号
"train_date"=>$date,
"from_station_name"=>$from_station_name,
"from_station_code"=>$from_station_code,
"to_station_code"=>$to_station_code,
"to_station_name"=>$to_station_name,
"passengers"=>$passengers,
"checi"=>$train_code
);
$bakc=$this->my_post($url,$post_data);
if($bakc['error_code']){
$rebakc=$bakc;
}else{
//提交订单成功,但并不意味着信息没错
$url_status=$this->cx_api;//订单状态查询
$post_status=array(
"key"=>$this->key,
"orderid"=>$bakc["result"]["orderid"]
);
$bakc_status=$this->my_post($url_status,$post_status);
if($bakc_status["error_code"]){
$rebakc=$bakc_status;
}else{
$this->load->model("api_model","api");
$this->api->_insert("order",array(
"order_num"=>$bakc['result']['orderid'],
"sub_time"=>time(),
"status"=>$bakc_status["result"]["status"],
"msg"=>$bakc_status["result"]["msg"],
"from_station"=>$from_station_name,
"to_station"=>$to_station_name,
"train_code"=>$train_code,
"price"=>$bakc_status["result"]["orderamount"]
));
// echo "<script>window.location.href='".site_url("apps/train/index/order_list")."'</script>";
redirect("apps/train/index/order_list");//windows服务器会报错
}
}
var_dump($rebakc);
}else{
// var_dump($this->form_validation->_error_array);
var_dump(validation_errors());
}
}
}
public function order_list(){
$this->load->model("api_model","api");
$list["data"]=$this->api->getAll("order");
$count=count($list["data"]);
for ($i=0; $i < $count; $i++) {
$list["data"][$i]["info"]=$this->order_status_msg[$list["data"][$i]["status"]];//自定义说明信息
}
$this->load->view('bootstrap3/header');
$this->load->view('order_list.html',$list);
$this->load->view('bootstrap3/footer');
}
public function order(){
if($order=$this->input->get("order")){
$post_data=array(
"key"=>"79f03107b921ef31310bd40a1415c1cb",
"orderid"=>$order
);
$back_data=$this->my_post("http://op.juhe.cn/trainTickets/orderStatus",$post_data);
$data=array(
"JOL_Status"=>$back_data["result"]["status"],
"JOL_RebackMsg"=>$back_data["result"]["msg"]
);
$this->load->model("BIZ_train_model");
//查询到订单最新情况,更新本地数据库
$this->BIZ_train_model->update_biz_jol(array("JOL_JuheOrder"=>$order),$data);
// var_dump($back_data);
$this->load->view('bootstrap3/header');
$this->load->view('order',$back_data);
$this->load->view('bootstrap3/footer');
}
}
//取消订单
public function cancel_order(){
if($order=$this->input->get("order")){
$post_data=array(
"key"=>$this->key,
"orderid"=>$order
);
$back=$this->my_post($this->qxdd_api,$post_data);
var_dump($back);
}
}
//请求出票,支付
public function pay(){
if($order=$this->input->get("order")){
$post_data=array(
"key"=>$this->key,
"orderid"=>$order
);
$back=$this->my_post($this->pay_api,$post_data);
var_dump($back);
}
}
//线上退票
public function refund(){
if($order=$this->input->get("order")){
$post_data=array(
"key"=>$this->key,
"orderid"=>$order
);
$back_data=$this->my_post($this->status_api,$post_data);
$data=array(
"JOL_Status"=>$back_data["result"]["status"],
"JOL_RebackMsg"=>$back_data["result"]["msg"]
);
$this->load->model("BIZ_train_model");
//查询到订单最新情况,更新本地数据库
$this->BIZ_train_model->update_biz_jol(array("JOL_JuheOrder"=>$order),$data);
$this->load->view('bootstrap3/header');
$this->load->view('refund',$back_data);
$this->load->view('bootstrap3/footer');
}
}
public function refund_do(){
$order=$this->input->get("order");
$passportseno=$this->input->get("passportseno");
$passporttypeseid=$this->input->get("passporttypeseid");
$ticket_no=$this->input->get("ticket_no");
$passengername=$this->input->get("name");
if(!empty($order) && !empty($passportseno) && !empty($passporttypeseid) && !empty($ticket_no) && !empty($passengername)){
$post_data=array(
"key"=>$this->key,
"orderid"=>$order,
"tickets"=>'[{"ticket_no":"'.$ticket_no.'","passengername":"'.$passengername.'","passporttypeseid":"'.$passporttypeseid.'","passportseno":"'.$passportseno.'"}]',
);
$back_data=$this->my_post($this->refund_api,$post_data);
if($back_data["error_code"]==0){
echo "<script>alert('请求成功,正在处理退票...');location.href='".site_url("/apps/train/index/refund?order=$order")."';</script>";
}
}
return;
}
function my_post($url,$post_data){
// $url = "http://op.juhe.cn/trainTickets/cityCode";
// $post_from = array("stationName" => $from,"key"=>"79f03107b921ef31310bd40a1415c1cb");
// $post_to = array("stationName" => $to,"key"=>"79f03107b921ef31310bd40a1415c1cb");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
$output=json_decode($output,TRUE);//json => array
return $output;
}
function get_data($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
function post_data($url,$post_data){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
// $output=json_decode($output,TRUE);//json => array
return $output;
}
}