|
|
|
@ -65,15 +65,15 @@ class ctrip_train extends CI_Controller{
|
|
|
|
|
header("HTTP/1.1 404 Not Found");
|
|
|
|
|
exit('{"httpstatus":404,"data":{"seven":false,"cache":false,"result":[],"map":{}}}');
|
|
|
|
|
}else{
|
|
|
|
|
$from = $FromName->station_name;
|
|
|
|
|
$to = $ToName->station_name;
|
|
|
|
|
$FromName = $FromName->station_name;
|
|
|
|
|
$ToName = $ToName->station_name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//生成请求链接
|
|
|
|
|
$TimeStamp = time();
|
|
|
|
|
$Sign = md5($TimeStamp.DATAKEY);
|
|
|
|
|
|
|
|
|
|
$url = JSONRETURN.'SearchS2S/?From='.urlencode($from).'&To='.urlencode($to).'&DepartDate='.$date.'&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
|
|
|
|
|
$url = JSONRETURN.'SearchS2S/?From='.urlencode($FromName).'&To='.urlencode($ToName).'&DepartDate='.$date.'&User='.DATAUSER.'&TimeStamp='.$TimeStamp.'&Sign='.$Sign;
|
|
|
|
|
|
|
|
|
|
$api_start_time = microtime(true);
|
|
|
|
|
|
|
|
|
@ -84,7 +84,6 @@ class ctrip_train extends CI_Controller{
|
|
|
|
|
|
|
|
|
|
$ResponseData = json_decode($ResponseJson);
|
|
|
|
|
$api_responsive_time = $api_end_time - $api_start_time;
|
|
|
|
|
//print_r($ResponseData);die();
|
|
|
|
|
|
|
|
|
|
if(empty($ResponseData->Trains)){
|
|
|
|
|
log_message('error','ctrip_trian|status:trains is empty |相应时间:'.$api_responsive_time);
|
|
|
|
@ -103,31 +102,39 @@ class ctrip_train extends CI_Controller{
|
|
|
|
|
$obj = array();
|
|
|
|
|
$i = 0;
|
|
|
|
|
$PriceStr = '';
|
|
|
|
|
|
|
|
|
|
//数据解析
|
|
|
|
|
if(!empty($ResponseData->Trains)){
|
|
|
|
|
foreach ($ResponseData->Trains as $TrainInfo){
|
|
|
|
|
$obj[$TrainInfo->FromTelcode] = $TrainInfo->FromStationName;
|
|
|
|
|
$obj[$TrainInfo->ToTelcode] = $TrainInfo->ToStationName;
|
|
|
|
|
$SeaType = '';
|
|
|
|
|
$gjrwNum = $rwNum = $rzNum = $tdzNum = $wzNum = $yzNum = $edzNum = $ydzNum = $swzNum = $ywNum = $dwNum = null;
|
|
|
|
|
//余数初始化为空
|
|
|
|
|
$gjrwNum = $rwNum = $rzNum = $tdzNum = $wzNum = $yzNum = $edzNum = $ydzNum = $swzNum = $ywNum = $dwNum = $ydwNum = $edzNum = null;
|
|
|
|
|
foreach($TrainInfo->Seats as $Seats){
|
|
|
|
|
if($Seats->SeatName == '高级软卧下'){
|
|
|
|
|
//从香港出发的 D/G 火车加价3%
|
|
|
|
|
if($from == 'XJA'){
|
|
|
|
|
if(stripos($TrainInfo->TrainNo, "G") !== false || stripos($TrainInfo->TrainNo, "D") !== false){
|
|
|
|
|
$Seats->Price = $Seats->Price * 1.03;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($Seats->SeatName == '高级软卧上'){
|
|
|
|
|
$gjrwXiaPrice = $Seats->Price * 10;
|
|
|
|
|
$SeaType .= '"6":"'.$gjrwXiaPrice.'","A6":"¥'.$Seats->Price.'",';
|
|
|
|
|
$gjrwNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($Seats->SeatName == '软卧下'){
|
|
|
|
|
if($Seats->SeatName == '软卧上'){
|
|
|
|
|
$rwPrice = $Seats->Price * 10;
|
|
|
|
|
$SeaType .= '"4":"'.$rwPrice.'","A4":"¥'.$Seats->Price.'",';
|
|
|
|
|
$rwNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*if($Seats->SeatName == '一等双软下'){
|
|
|
|
|
$ydrwPrice = $Seats->Price * 10;
|
|
|
|
|
$SeaType .= '"I":"'.$ydrwPrice.'","AI":"¥'.$Seats->Price.'",';
|
|
|
|
|
$ydrwNum = $Seats->TicketLeft;
|
|
|
|
|
}*/
|
|
|
|
|
if($Seats->SeatName == '一等双软上'){
|
|
|
|
|
$SeaType .= '"YDW":"¥'.$Seats->Price.'",';
|
|
|
|
|
$ydwNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($Seats->SeatName == '软座'){
|
|
|
|
|
$rzPrice = $Seats->Price * 10;
|
|
|
|
@ -167,19 +174,18 @@ class ctrip_train extends CI_Controller{
|
|
|
|
|
$swzNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($Seats->SeatName == '硬卧下'){
|
|
|
|
|
if($Seats->SeatName == '硬卧上'){
|
|
|
|
|
$ywPrice = $Seats->Price * 10;
|
|
|
|
|
$SeaType .= '"3":"'.$ywPrice.'","A3":"¥'.$Seats->Price.'",';
|
|
|
|
|
$ywNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*if($Seats->SeatName == '二等双软下'){
|
|
|
|
|
$errwPrice = $Seats->Price * 10;
|
|
|
|
|
$SeaType .= '"J":"'.$errwPrice.'","AJ":"¥'.$Seats->Price.'",';
|
|
|
|
|
$errwNum = $Seats->TicketLeft;
|
|
|
|
|
}*/
|
|
|
|
|
if($Seats->SeatName == '二等双软上'){
|
|
|
|
|
$SeaType .= '"EDW":"¥'.$Seats->Price.'",';
|
|
|
|
|
$erwNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if($Seats->SeatName == '动卧下'){
|
|
|
|
|
if($Seats->SeatName == '动卧上'){
|
|
|
|
|
$SeaType .= '"F":"¥'.$Seats->Price.'",';
|
|
|
|
|
$dwNum = $Seats->TicketLeft;
|
|
|
|
|
}
|
|
|
|
@ -200,28 +206,21 @@ class ctrip_train extends CI_Controller{
|
|
|
|
|
$ydzNum = isset($ydzNum) ? ticket_exchange($ydzNum,$iseven) : '';
|
|
|
|
|
$swzNum = isset($swzNum) ? ticket_exchange($swzNum,$iseven) : '';
|
|
|
|
|
$dwNum = isset($dwNum) ? ticket_exchange($dwNum,$iseven) : '';
|
|
|
|
|
/*$ydrwNum = isset($ydrwNum) ? ticket_exchange($ydrwNum,$iseven) : '';
|
|
|
|
|
$errwNum = isset($errwNum) ? ticket_exchange($errwNum,$iseven) : '';
|
|
|
|
|
|
|
|
|
|
if($rwNum == '' && $ydrwNum != ''){
|
|
|
|
|
$rwNum = $ydrwNum;
|
|
|
|
|
}
|
|
|
|
|
$ydwNum = isset($ydwNum) ? ticket_exchange($ydwNum,$iseven) : '';
|
|
|
|
|
$erwNum = isset($erwNum) ? ticket_exchange($erwNum,$iseven) : '';
|
|
|
|
|
|
|
|
|
|
if($ywNum == '' && $errwNum != ''){
|
|
|
|
|
$ywNum = $errwNum;
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
$runMin = $TrainInfo->DurationMinutes % 60;
|
|
|
|
|
$runHour = ($TrainInfo->DurationMinutes - $runMin) / 60;
|
|
|
|
|
|
|
|
|
|
$ReturnData->data->result[$i] = '|预定|'.$TrainInfo->Train12306No.'|'.$TrainInfo->TrainNo.'|'.$TrainInfo->FromStationName.'|'.$TrainInfo->ToStationName.'|'.$TrainInfo->FromTelcode.'|'.$TrainInfo->ToTelcode.'|'.$TrainInfo->StartTime.'|'.$TrainInfo->ArriveTime.'|'.$runHour.':'.$runMin.'|'.$TrainInfo->CanWebBuy.'||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'||';
|
|
|
|
|
$ReturnData->data->result[$i] = '|预定|'.$TrainInfo->Train12306No.'|'.$TrainInfo->TrainNo.'|'.$TrainInfo->FromStationName.'|'.$TrainInfo->ToStationName.'|'.$TrainInfo->FromTelcode.'|'.$TrainInfo->ToTelcode.'|'.$TrainInfo->StartTime.'|'.$TrainInfo->ArriveTime.'|'.$runHour.':'.$runMin.'|'.$TrainInfo->CanWebBuy.'||'.date('Ymd',strtotime($date)).'||||||||'.$gjrwNum.'||'.$rwNum.'|'.$rzNum.'|'.$tdzNum.'|'.$wzNum.'||'.$ywNum.'|'.$yzNum.'|'.$edzNum.'|'.$ydzNum.'|'.$swzNum.'|'.$dwNum.'|||'.$ydwNum.'|'.$erwNum;
|
|
|
|
|
|
|
|
|
|
$data = '{"validateMessagesShowId":"_validatorMessage","status":true,"httpstatus":200,"data":{'.$PriceStr.'},"messages":[],"validateMessages":{}}';
|
|
|
|
|
$ReturnData->data->price[$i] = $data;
|
|
|
|
|
$i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//print_r($ResponseData);
|
|
|
|
|
//print_r($ResponseData);die();
|
|
|
|
|
$ReturnData->data->map = (object)$obj;
|
|
|
|
|
print_r(json_encode($ReturnData));
|
|
|
|
|
}
|
|
|
|
|