diff --git a/application/third_party/tuniu/controllers/tuniu_train.php b/application/third_party/tuniu/controllers/tuniu_train.php index 6c8c79d7..a541ab3f 100644 --- a/application/third_party/tuniu/controllers/tuniu_train.php +++ b/application/third_party/tuniu/controllers/tuniu_train.php @@ -63,46 +63,45 @@ class Tuniu_train extends CI_Controller{ $back_data = post_tuniu($url,$post_data,$method = 'POST'); //print_r(json_decode($back_data));die(); + $log_info = ''; - //如果数据为空则调用缓存,有数据则进行数据存储 - if(empty($back_data)){ - log_message('error','tuniutrain 接口未响应|数据源:'.$fromStation.'|'.$toStation.'|'.$date); + if(isset(json_decode($back_data)->data)){ + $tn_info = json_decode($back_data); + $retrun_code = $tn_info->returnCode; + $return_msg = $tn_info->errorMsg; + if(empty(json_decode($back_data)->data)){ + $isCache = true; + }else{ + $this->tuniuprice_model->addOrUpdate($fromStation,$toStation,$back_data); + } + $log_info = 'tuniutrain 查询数据:'.$fromStation.'|'.$toStation.'|'.$date.'|retrun_code:'.$retrun_code.'|return_msg:'.$return_msg; + }else{ + $isCache = true; + $log_info = 'tuniutrain 接口未响应|数据源:'.$fromStation.'|'.$toStation.'|'.$date; + + } + + if($isCache){ if($differ <= 5){ $back_data = null; }else{ + echo '123'; $trainCache = $this->tuniuprice_model->get_train_cache($fromStation,$toStation); - $back_data = $trainCache->tpc_content; - $isCache = true; - } - }else{ - if(empty(json_decode($back_data)->data)){ - $error = json_decode($back_data); - if($error->returnCode == '201'){ - $back_data = null; + if(!empty($trainCache)){ + $back_data = $trainCache->tpc_content; + $isCache = true; + $log_info .= '|调用缓存'; + log_message('error',$log_info); }else{ - $trainCache = $this->tuniuprice_model->get_train_cache($fromStation,$toStation); - if(!empty($trainCache)){ - $back_data = $trainCache->tpc_content; - $isCache = true; - log_message('error','tuniutrain 查询出错|'.$error->errorMsg); - }else{ - $back_data = null; - log_message('error','tuniutrain 缓存为空|'.$fromStation.'|'.$toStation.'|'.$date); - } + $back_data = null; + $log_info .= '|缓存为空'; + log_message('error',$log_info); } - }else{ - $this->tuniuprice_model->addOrUpdate($fromStation,$toStation,$back_data); - } + } } - + //途牛数据格式转换 $return_data = new stdClass(); - if(empty($back_data)){ - $return_data->returnCode = '404'; - }else{ - $return_data->returnCode = json_decode($back_data)->returnCode; - } - $return_data->httpstatus = 200; $return_data->data = new stdClass(); $return_data->data->seven = $iseven;