diff --git a/application/third_party/tuniu/controllers/tuniu_train.php b/application/third_party/tuniu/controllers/tuniu_train.php index ce2872ef..b53e4fe1 100644 --- a/application/third_party/tuniu/controllers/tuniu_train.php +++ b/application/third_party/tuniu/controllers/tuniu_train.php @@ -63,14 +63,21 @@ class Tuniu_train extends CI_Controller{ $back_data = post_tuniu($url,$post_data,$method = 'POST'); //如果数据为空则调用缓存,有数据则进行数据存储 - if(empty(json_decode($back_data)->data)){ - $error = json_decode($back_data); + if(empty($back_data)){ + log_message('error','tuniutrain 接口未响应|数据源:'.$fromStation.'|'.$toStation.'|'.$date); $trainCache = $this->tuniuprice_model->get_train_cache($fromStation,$toStation); $back_data = $trainCache->tpc_content; $isCache = true; - log_message('error','tuniutrain 出错的原因:'.json_decode($back_data)); }else{ - $this->tuniuprice_model->addOrUpdate($fromStation,$toStation,$back_data); + if(empty(json_decode($back_data)->data)){ + $error = json_decode($back_data); + $trainCache = $this->tuniuprice_model->get_train_cache($fromStation,$toStation); + $back_data = $trainCache->tpc_content; + $isCache = true; + log_message('error','tuniutrain 查询出错'.json_decode($back_data)); + }else{ + $this->tuniuprice_model->addOrUpdate($fromStation,$toStation,$back_data); + } } //途牛数据格式转换 @@ -79,10 +86,11 @@ class Tuniu_train extends CI_Controller{ //echo $return_data->returnCode; $return_data->httpstatus = 200; $return_data->data = new stdClass(); - $return_data->data->result = array(); - $return_data->data->map = new stdClass(); $return_data->data->seven = $iseven; $return_data->data->cache = $isCache; + $return_data->data->result = array(); + $return_data->data->map = new stdClass(); + $obj = array(); $i = 0; $pricestr = ''; @@ -155,7 +163,7 @@ class Tuniu_train extends CI_Controller{ } $pricestr = $seat_type.'"train_no":'.'"'.$value->trainNo.'"'; - //对余票数进行验证 + //对返回的数据进行容错处理 $value->gjrwNum = isset($value->gjrwNum) ? ticket_exchange($value->gjrwNum,$iseven) : ''; $value->rwNum = isset($value->rwNum) ? ticket_exchange($value->rwNum,$iseven) : ''; $value->rzNum = isset($value->rzNum)?ticket_exchange($value->rzNum,$iseven) : ''; @@ -167,6 +175,7 @@ class Tuniu_train extends CI_Controller{ $value->ydzNum = isset($value->ydzNum)?ticket_exchange($value->ydzNum,$iseven) : ''; $value->swzNum = isset($value->swzNum)?ticket_exchange($value->swzNum,$iseven) : ''; $value->dwNum = isset($value->dwNum)?ticket_exchange($value->dwNum,$iseven) : ''; + $value->runTime = isset($value->runTime)?$value->runTime : ''; //余票字符串 $return_data->data->result[$i] = '|预定|'.$value->trainNo.'|'.$value->trainCode.'|'.$value->fromStationName.'|'.$value->toStationName.'|'.$value->fromStationCode.'|'.$value->toStationCode.'|'.$value->startTime.'|'.$value->arriveTime.'|'.$value->runTime.'|'.$value->canBuyNow.'||'.date('Ymd',strtotime($value->trainStartDate)).'||||||||'.$value->gjrwNum.'||'.$value->rwNum.'|'.$value->rzNum.'|'.$value->tdzNum.'|'.$value->wzNum.'||'.$value->ywNum.'|'.$value->yzNum.'|'.$value->edzNum.'|'.$value->ydzNum.'|'.$value->swzNum.'|'.$value->dwNum.'||';