Example #1
0
 public function show()
 {
     //出发城市
     if (!$this->input['depart_city']) {
         $this->errorOutput(NO_DEPART_CITY);
     }
     //到达城市
     if (!$this->input['arrive_city']) {
         $this->errorOutput(NO_ARRIVE_CITY);
     }
     //出发日期
     $depart_date = $this->input['depart_date'];
     if (!$depart_date) {
         $depart_date = date('Y-m-d', TIMENOW);
     }
     $data = array('DepartCityId' => $this->input['depart_city_id'], 'DepartCityName' => $this->input['depart_city_name'], 'DepartCity' => $this->input['depart_city'], 'ArriveCityId' => $this->input['arrive_city_id'], 'ArriveCityName' => $this->input['arrive_city_name'], 'ArriveCity' => $this->input['arrive_city'], 'DepartDate' => $depart_date, 'TrainType' => $this->input['train_type'], 'SortMode' => $this->input['sort_mode'], 'SortType' => $this->input['sort_stype'], 'PageNumber' => $this->input['page_number'], 'BeginTime' => $this->input['begin_time'], 'EndTime' => $this->input['end_time'], 'TrainsType' => $this->input['trains_type']);
     //先查看缓存有没有存在,不存在就去请求接口查询,存在就用缓存数据
     if (!IS_CACHE_TRAIN || !($ret = getTrainBufferData($this->input['depart_city'] . '#' . $this->input['arrive_city'] . '#' . $depart_date))) {
         $ret = $this->train->query($data);
     }
     $ret = json_decode($ret, 1);
     if (!$ret || !$ret['Data']) {
         $this->errorOutput(NO_DATA);
     }
     if (!($new_data = arrangeTrainData($ret))) {
         $this->errorOutput(NO_DATA);
     }
     $this->addItem($new_data);
     $this->output();
 }
Example #2
0
 public function show()
 {
     $postdata = $this->get_query_parameters();
     $buffer_key = md5(serialize($postdata));
     $output = $this->buffer->select($buffer_key);
     $output = $output ? json_decode($output, 1) : array();
     if (!$output) {
         $json_data = postCurl(TRAIN_API, $postdata);
         $result = json_decode($json_data, 1);
         if ($result['Message']) {
             $this->errorOutput($result['Message']);
         }
         $output = array();
         $output['total'] = $result['RecordCount'];
         $output['data'] = $result['Data'] ? arrangeTrainData($result) : array();
         $this->buffer->replace($buffer_key, json_encode($output));
     }
     $this->addItem($output);
     $this->output();
 }