Merge branch 'master' of git.mycht.cn:developers/information-system

mm
hotfix/远程访问多媒体中心
lmrwork 7 years ago
commit a86fc1b294

@ -11,7 +11,12 @@ class search extends CI_Controller{
//查询聚合余票接口,对返回的数据进行处理
public function index($train_date=null,$fromStation=null,$toStation=null){
//定义一些变量
$flag = true;
$juheTrainInfo = '';
set_time_limit(0);
//判断数据是否合法
if(!$train_date || !$fromStation || !$toStation){
exit('传参不能为空!');
}else{
@ -21,48 +26,82 @@ class search extends CI_Controller{
if(strlen($toStation) != 3){
exit('toStation:参数错误!');
}
//调用查询模块
$search_return = $this->Searchtrain($train_date,$fromStation,$toStation);
//调用数据处理模块
$returnJson = $this->dataOperate($search_return,$fromStation,$toStation);
//调用拼接处理模块
$trainjson = $this->createTrainJson($returnJson);
print_r($trainjson);
}
}
//搜索模块
function Searchtrain($train_date,$fromStation,$toStation){
$this->train_date = $train_date;
//$url = 'http://op.juhe.cn/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation;
$now_time = time();
$differ_time = (strtotime($train_date) - $now_time) / 86400;
//屏蔽掉超过预售期的搜索,提高速度
if($differ_time > 29){
$train_date = date('Y-m-d',strtotime('+7day'));
$this->seventh = true;
}
$url = 'http://139.129.246.118:12309/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation;
$back_data = $this->get_http($url);
//特殊车次处理(贵阳 -- 重庆)
/*if(($fromStation == 'GIW') && ($toStation == 'CQW') && (strtotime($train_date) - strtotime('2018-01-16') >= 0)){
exit('{"httpstatus":200,"reason":"特殊车次不开车","data":{"result":""}}');
}*/
$this->url = $url;
$train_info = $this->get_http($url);
//如果为网络错误就再执行一次
if(json_decode($train_info)->reason == '网络故障请重试0'){
$train_info = $this->get_http($url);
}
return $train_info;
}
$firstdata = $back_data;
$return_data = new stdClass();
$cache = 'no';
if(empty($back_data) || empty(json_decode($back_data)->result)){
$obj = $this->BIZ_train_model->get_train_info($fromStation,$toStation);
if($obj){
$back_data = $obj->tpc_content;
$cache = 'yes';
$this->cache = true;
$reason = '接口数据为空,调用缓存';
log_message('error','查询为空的链接:'.$url.'|出错的原因:'.$firstdata.'|调用缓存号:'.$obj->tpc_sn.'|缓存生成的时间:'.$obj->tpc_datetime);
//缓存处理模块(包含缓存处理)
function dataOperate($search_return,$fromStation,$toStation){
$this->reason = json_decode($search_return)->reason;
$this->cache = 'no';
if(!empty($search_return) && !empty(json_decode($search_return)->result)){
$this->BIZ_train_model->addOrUpdate($fromStation,$toStation,$search_return);
$operate_data = $search_return;
}else{
$reason = '接口数据为空,缓存也为空';
log_message('error','查询为空的链接:'.$url.'|出错的原因:'.$firstdata.'|缓存为空');
}
$cache_train_info = $this->BIZ_train_model->get_train_info($fromStation,$toStation);
if(empty($cache_train_info)){
$operate_data = null;
}else{
$cache_time = $cache_train_info->tpc_datetime;
$now_time = time();
$differ_time = ($now_time - strtotime($cache_time)) / 86400;
if($differ_time >= 3){
$this->delete_traincache($fromStation,$toStation);
}else{
$reason = json_decode($back_data)->reason;
$this->BIZ_train_model->addOrUpdate($fromStation,$toStation,$back_data);
$this->cache = 'yes';
$operate_data = $cache_train_info->tpc_content;
log_message('error','查询为空的链接:'.$this->url.'|出错的原因:'.$this->reason.'|调用缓存号:'.$cache_train_info->tpc_sn.'|缓存生成的时间:'.$cache_train_info->tpc_datetime);
}
}
}
return $operate_data;
}
$return_data->httpstatus = 200;
$return_data->reason = $reason;
$return_data->cache = $cache;
//字符串拼接模块
function createTrainJson($returnjson){
$return_data = new stdClass();
$return_data->data = new stdClass();
$return_data->httpstatus = 200;
$return_data->reason = $this->reason;
$return_data->cache = $this->cache;
$return_data->data->result = array();
$return_data->data->map = new stdClass();
$obj = array();
$i = 0;
$pricestr = '';
if(!empty(json_decode($back_data)->result->list)){
foreach (json_decode($back_data)->result->list as $value){
if(!empty($returnjson)){
if(!empty(json_decode($returnjson)->result->list)){
foreach (json_decode($returnjson)->result->list as $value){
$obj[$value->from_station_code] = $value->from_station_name;
$obj[$value->to_station_code] = $value->to_station_name;
$seat_type = '';
@ -141,12 +180,14 @@ class search extends CI_Controller{
$i++;
}
}
$return_data->data->map = (object)$obj;
print_r(json_encode($return_data));
}
$return_data->data->map = (object)$obj;
return json_encode($return_data);
}
//获取价格
//获取价格(废弃)
/*
fromStationCode出发站三字码
toStationCode:终点站三字码
@ -167,7 +208,7 @@ class search extends CI_Controller{
//余票转换
function ticket_exchange($num){
if(isset($this->cache)){
if($this->cache == 'yes'){
$time = strtotime($this->train_date) - time();
$day = $time / 86400;
if($day > 15){

@ -2,7 +2,7 @@
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class searchnew extends CI_Controller{
class search extends CI_Controller{
public function __construct(){
parent::__construct();
@ -11,13 +11,7 @@ class searchnew extends CI_Controller{
//查询聚合余票接口,对返回的数据进行处理
public function index($train_date=null,$fromStation=null,$toStation=null){
//定义一些变量
$cache = 'no';
$flag = true;
$juheTrainInfo = '';
set_time_limit(0);
//判断数据是否合法
if(!$train_date || !$fromStation || !$toStation){
exit('传参不能为空!');
}else{
@ -28,96 +22,47 @@ class searchnew extends CI_Controller{
exit('toStation:参数错误!');
}
$this->train_date = $train_date;
$now_time = time();
$differ_time = (strtotime($train_date) - $now_time) / 86400;
if($differ_time <= 29){
//调用聚合搜索模块
$juheTrainInfo = $this->juheSearch($train_date,$fromStation,$toStation);
if(empty($juheTrainInfo)){
$flag = 'error';
}
}else{
$flag = 'cache';
}
//调用数据处理模块。
$returnJson = $this->dataOperate($juheTrainInfo,$flag,$fromStation,$toStation);
//调用拼接处理模块
$trainjson = $this->createTrainJson($returnJson);
print_r($trainjson);
die();
}
}
//搜索模块
function juheSearch($train_date,$fromStation,$toStation){
//$url = 'http://op.juhe.cn/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation;
$url = 'http://139.129.246.118:12309/trainTickets/ticketsAvailable?key='.JUHE_TRAIN_API_KEY.'&train_date='.$train_date.'&from_station='.$fromStation.'&to_station='.$toStation;
$this->url = $url;
$juheTrainInfo = $this->get_http($url);
if($this->validateJuhe($juheTrainInfo)){
return $juheTrainInfo;
}else{
return null;
}
}
$back_data = $this->get_http($url);
//特殊车次处理(贵阳 -- 重庆)
/*if(($fromStation == 'GIW') && ($toStation == 'CQW') && (strtotime($train_date) - strtotime('2018-01-16') >= 0)){
exit('{"httpstatus":200,"reason":"特殊车次不开车","data":{"result":""}}');
}*/
//缓存处理模块(包含缓存处理)
function dataOperate($trainInfo,$flag,$fromStation,$toStation){
if($flag == 'error'){
$research = $this->juheSearch($this->train_date,$fromStation,$toStation);
if($this->validateJuhe($research)){
$trainInfo = $research;
}else{
$flag = 'cache';
}
}
$firstdata = $back_data;
$return_data = new stdClass();
$cache = 'no';
if($flag == 'cache'){
$cacheTrainInfo = $this->BIZ_train_model->get_train_info($fromStation,$toStation);
if(empty($cacheTrainInfo)){
return null;
if(empty($back_data) || empty(json_decode($back_data)->result)){
$obj = $this->BIZ_train_model->get_train_info($fromStation,$toStation);
if($obj){
$back_data = $obj->tpc_content;
$cache = 'yes';
$this->cache = true;
$reason = '接口数据为空,调用缓存';
log_message('error','查询为空的链接:'.$url.'|出错的原因:'.$firstdata.'|调用缓存号:'.$obj->tpc_sn.'|缓存生成的时间:'.$obj->tpc_datetime);
}else{
$cache_time = $cacheTrainInfo->tpc_datetime;
$now_time = time();
$differ_time = ($now_time - strtotime($cache_time)) / 86400;
if($differ_time >= 7){
$this->delete_traincache($fromStation,$toStation);
$research = $this->juheSearch(strtotime('+7day'),$fromStation,$toStation);
if($this->validateJuhe($research)){
$trainInfo = $research;
}else{
return null;
}
}
$reason = '接口数据为空,缓存也为空';
log_message('error','查询为空的链接:'.$url.'|出错的原因:'.$firstdata.'|缓存为空');
}
}
$this->BIZ_train_model->addOrUpdate($fromStation,$toStation,$trainInfo);
return $trainInfo;
}else{
$reason = json_decode($back_data)->reason;
$this->BIZ_train_model->addOrUpdate($fromStation,$toStation,$back_data);
}
//字符串拼接模块
function createTrainJson($returnJson){
if(empty($returnJson)){
}else{
$return_data = new stdClass();
$return_data->data = new stdClass();
$return_data->httpstatus = 200;
//$return_data->reason = $reason;
//$return_data->cache = $cache;
$return_data->reason = $reason;
$return_data->cache = $cache;
$return_data->data = new stdClass();
$return_data->data->result = array();
$return_data->data->map = new stdClass();
$obj = array();
$i = 0;
$pricestr = '';
//print_r(json_decode($returnJson));
//die();
if(!empty(json_decode($returnJson)->result->list)){
foreach (json_decode($returnJson)->result->list as $value){
if(!empty(json_decode($back_data)->result->list)){
foreach (json_decode($back_data)->result->list as $value){
$obj[$value->from_station_code] = $value->from_station_name;
$obj[$value->to_station_code] = $value->to_station_name;
$seat_type = '';
@ -197,12 +142,11 @@ class searchnew extends CI_Controller{
}
}
$return_data->data->map = (object)$obj;
print_r($return_data);
print_r(json_encode($return_data));
}
}
//获取价格(废弃)
//获取价格
/*
fromStationCode出发站三字码
toStationCode:终点站三字码
@ -221,16 +165,6 @@ class searchnew extends CI_Controller{
}
}
//验证聚合返回的信息是否正确
function validateJuhe($trainInfo){
if(!empty($trainInfo) && !empty(json_decode($trainInfo)->result)){
return true;
}else{
return false;
}
}
//余票转换
function ticket_exchange($num){
if(isset($this->cache)){

@ -5,7 +5,7 @@
<meta charset="utf-8">
<title>信息平台</title>
<link rel="stylesheet" href="/css/information-system3.css?v=201508112" type="text/css" />
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js"></script>
<script type="text/javascript" src="/min/?f=/js/information-system3.min.js,/js/common.js&v=2018022601"></script>
<script type="text/javascript" src="/js/kindeditor/kindeditor.js?v=20160601"></script>
<link rel="shortcut icon" href="/bootstrap/img/glyphicons_290_skull.png">

@ -300,12 +300,7 @@ function errorfun(responseText, statusText, xhr, form) {
function successfun(responseText, statusText, xhr, form) {
for (var key in responseText) {
if (responseText[key].name == "ok") {
if ($("#rule_check_flag").val() == 1 && $("#auto_update_cache_checkbox").attr("checked")) {
$.modaldialog.success(responseText[key].value + "n" + "\u9759\u6001\u9875\u9762\u66f4\u65b0\u4e2d...");
updateCache($("#auto_update_cache_checkbox").val(), "")
} else {
$.modaldialog.success(responseText[key].value)
}
} else {
if (responseText[key].name == "ok_go") {
$.modaldialog.success('提交成功,正在跳转到下个页面...');

Loading…
Cancel
Save