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(); }
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(); }