diff --git a/application/third_party/ctrip/controllers/ctrip_train.php b/application/third_party/ctrip/controllers/ctrip_train.php index bdd6c8f9..4943ea3f 100644 --- a/application/third_party/ctrip/controllers/ctrip_train.php +++ b/application/third_party/ctrip/controllers/ctrip_train.php @@ -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)); } diff --git a/application/third_party/trainsystem/config/config.php b/application/third_party/trainsystem/config/config.php index 7e4ddb07..1d87da49 100644 --- a/application/third_party/trainsystem/config/config.php +++ b/application/third_party/trainsystem/config/config.php @@ -63,7 +63,9 @@ $config["train_zw"]=array( "2"=>"软座", "3"=>"硬卧", "1"=>"硬座", - "F"=>"动卧" + "F"=>"动卧", + "YDW"=>"一等卧", + "EDW"=>"二等卧" ); //数据库座次配对,包厢硬卧(5),无座(WZ),聚合没有 $config["db_train_zw"]=array( @@ -80,7 +82,9 @@ $config["db_train_zw"]=array( "F"=>"F", "3"=>"3", "2"=>"2", - "1"=>"1" + "1"=>"1", + "YDW"=>"YDW", + "EDW"=>"EDW" ); //票种配对 $config["train_piaotype"]=array( diff --git a/application/views/bootstrap3/information_edit.php b/application/views/bootstrap3/information_edit.php index 0e487b25..7b88d0f6 100644 --- a/application/views/bootstrap3/information_edit.php +++ b/application/views/bootstrap3/information_edit.php @@ -1292,7 +1292,7 @@ $meta_subnavi_arr = array(