Merge branch 'master' of gitee.com:hainatravel/information-system

hotfix/远程访问多媒体中心
lyt 6 years ago
commit 79317dd76e

@ -17,7 +17,7 @@ class addorders extends CI_Controller{
} }
public function index(){ public function index(){
echo 'api manager'; exit('hello world');
} }
//自动出票 //自动出票
@ -47,32 +47,32 @@ class addorders extends CI_Controller{
$back_message = ''; $back_message = '';
$cold_sn = $item->COLD_SN; $cold_sn = $item->COLD_SN;
$coli_id = $item->coli_id; $coli_id = $item->coli_id;
$back_data = 1; $auto_flag = 1;
$people_arr = $this->BIZ_train_model->biz_people($cold_sn); $people_arr = $this->BIZ_train_model->biz_people($cold_sn);
$train_info = $this->BIZ_train_model->get_biz_foi($cold_sn); $train_info = $this->BIZ_train_model->get_biz_foi($cold_sn);
if($item->COLD_SPFS > 1){ if($item->COLD_SPFS > 1){
//寄送票 //寄送票
$back_data = 0; $auto_flag = 0;
$back_message .= '-邮寄不自动出票'; $back_message .= '-邮寄不自动出票';
} }
//乘客人数大于5人不出票 //乘客人数大于5人不出票
if(count($people_arr) > 5){ if(count($people_arr) > 5){
$back_data = 0; $auto_flag = 0;
$back_message .= '-乘客人数大于5不自动出票'; $back_message .= '-乘客人数大于5不自动出票';
} }
//护照号如果在黑名单的就不自动出票 //护照号如果在黑名单的就不自动出票
foreach($people_arr as $people_info){ foreach($people_arr as $people_info){
if(in_array($people_info->BPE_Passport,$black_list)){ if(in_array($people_info->BPE_Passport,$black_list)){
$back_data = 0; $auto_flag = 0;
$back_message .= '-此用户为黑名单用户,不自动出票'; $back_message .= '-此用户为黑名单用户,不自动出票';
} }
if(strlen($people_info->BPE_Passport) >= 18){ if(strlen($people_info->BPE_Passport) >= 18){
$back_data = 0; $auto_flag = 0;
$back_message .= '-护照位数大于18不自动出票'; $back_message .= '-护照位数大于18不自动出票';
} }
@ -80,27 +80,29 @@ class addorders extends CI_Controller{
} }
$bpe_sn = substr($bpe_sn,0,strlen($bpe_sn)-1); $bpe_sn = substr($bpe_sn,0,strlen($bpe_sn)-1);
//单张票价不能大于1000人民币 //不是国内支付宝的付款方式的订单需要受到1000元单价限制
if($item->GAI_Type != '15015' && $item->COLI_State != '8'){
if($train_info[0]->adultcost > 1000){ if($train_info[0]->adultcost > 1000){
$back_data = 0; $auto_flag = 0;
$back_message .= '-单价大于1000不自动出票'; $back_message .= '-单价大于1000不自动出票';
} }
}
//如果为国际火车票就不出票 //如果为国际火车票就不出票
if(in_array($train_info[0]->FlightsNo, $nation_train)){ if(in_array($train_info[0]->FlightsNo, $nation_train)){
$back_data = 0; $auto_flag = 0;
$back_message .= '-国际火车票不自动出票'; $back_message .= '-国际火车票不自动出票';
} }
//无座的订单不做出票 //无座的订单不做出票
if($train_info[0]->Aircraft == 'WZ'){ if($train_info[0]->Aircraft == 'WZ'){
$back_data = 0; $auto_flag = 0;
$back_message .= '-无座不自动出票'; $back_message .= '-无座不自动出票';
} }
//香港火车不自动出票 //香港火车不自动出票
if($train_info[0]->DepartAirport == 'XJA'){ if($train_info[0]->DepartAirport == 'XJA'){
$back_data = 0; $auto_flag = 0;
$back_message .= '-香港火车不自动出票'; $back_message .= '-香港火车不自动出票';
} }
@ -109,13 +111,12 @@ class addorders extends CI_Controller{
$depart_diff = ($DepartureDate - $time) / 86400; $depart_diff = ($DepartureDate - $time) / 86400;
if($train_info[0]->ArrivalAirport == 'XJA' && $train_info[0]->adultcost > 500 && $depart_diff > 5){ if($train_info[0]->ArrivalAirport == 'XJA' && $train_info[0]->adultcost > 500 && $depart_diff > 5){
$back_data = 0; $auto_flag = 0;
$back_message .= '-内地香港火车金额大于500超过五天不自动出票'; $back_message .= '-内地香港火车金额大于500超过五天不自动出票';
} }
//print_r($train_info); //print_r($train_info);
//如果刚好是第三十天的订单 //如果刚好是第三十天的订单
echo $item->COLI_State;
if(($item->COLI_State == '8' || $item->COLI_State == '63')){ if(($item->COLI_State == '8' || $item->COLI_State == '63')){
$this->isauto = 3; $this->isauto = 3;
$time_obj = $this->BIZ_train_model->get_saletime($train_info['0']->DepartAirport_cn); $time_obj = $this->BIZ_train_model->get_saletime($train_info['0']->DepartAirport_cn);
@ -125,16 +126,16 @@ class addorders extends CI_Controller{
//echo $saletime; //echo $saletime;
$sale_diff = (time() - $saletime) / 3600; $sale_diff = (time() - $saletime) / 3600;
if($sale_diff > 1){ if($sale_diff > 1){
$back_data = 0; $auto_flag = 0;
$back_message .= '-超过抢票时间'; $back_message .= '-超过抢票时间';
}else if($sale_diff <0){ }else if($sale_diff <0){
$back_data = 0; $auto_flag = 0;
$back_message .= '-未到抢票时间'; $back_message .= '-未到抢票时间';
} }
} }
} }
if($back_data == 0){ if($auto_flag == 0){
$string .= '<tr><td>汉特订单号:'.$coli_id.'('.$cold_sn.')'.$back_message.'</td></tr>'; $string .= '<tr><td>汉特订单号:'.$coli_id.'('.$cold_sn.')'.$back_message.'</td></tr>';
}else{ }else{
//单个订单提交 //单个订单提交
@ -531,7 +532,7 @@ class addorders extends CI_Controller{
$add_data->endtime = date('H:i',strtotime($data['train']->ArrivalTime)); $add_data->endtime = date('H:i',strtotime($data['train']->ArrivalTime));
$add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60; $add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60;
$add_data->channel = 'tuniu'; $add_data->channel = 'tuniu';
$add_data->isauto = 0; $add_data->isauto = $this->isauto;
$this->train_system_model->add_orders($add_data); $this->train_system_model->add_orders($add_data);
echo json_encode($reback); echo json_encode($reback);
@ -541,7 +542,8 @@ class addorders extends CI_Controller{
function ctripModel($data,$selectseat,$cold_sn){ function ctripModel($data,$selectseat,$cold_sn){
$zwcode = $this->db_train_zw[$data['train']->Aircraft]; //座位简码 $zwcode = $this->db_train_zw[$data['train']->Aircraft]; //座位简码
$zwname = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]]; //座位名称 $zwname = $this->train_zw[$this->db_train_zw[$data['train']->Aircraft]]; //座位名称
$OrderNumber = ORDERUSER.time(); $microtime = get_microtime();
$OrderNumber = ORDERUSER.$microtime;
//拼接发送的报文 //拼接发送的报文
$PostData = array(); $PostData = array();
$time = date('Y-m-d H:i:s',time()); $time = date('Y-m-d H:i:s',time());
@ -666,8 +668,7 @@ class addorders extends CI_Controller{
$add_data->endtime = date('H:i',strtotime($data['train']->ArrivalTime)); $add_data->endtime = date('H:i',strtotime($data['train']->ArrivalTime));
$add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60; $add_data->runtime = (strtotime($data['train']->ArrivalTime) - strtotime($data['train']->DepartureTime)) / 60;
$add_data->channel = 'ctrip'; $add_data->channel = 'ctrip';
$add_data->isauto = 0; $add_data->isauto = $this->isauto;
//存储到数据库 //存储到数据库
$this->train_system_model->add_orders($add_data); $this->train_system_model->add_orders($add_data);

@ -88,14 +88,14 @@ class api extends CI_Controller{
$flag = $this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$toName,$toEmail,$subject,$body); $flag = $this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$toName,$toEmail,$subject,$body);
$this->BIZ_train_model->update_biz_jol(array("ts_ordernumber"=>$jh_order),array("ts_sendmail"=>1,"ts_m_sn"=>$flag)); $this->BIZ_train_model->update_biz_jol(array("ts_ordernumber"=>$jh_order),array("ts_sendmail"=>1,"ts_m_sn"=>$flag));
}else if($status == '1'){ }else if($status == '1'){
$subject = "The train ticket(s) will be issued manually, Order No $coli_id"; /*$subject = "The train ticket(s) will be issued manually, Order No $coli_id";
$body = $this->load->view('email_fault',$data,true); $body = $this->load->view('email_fault',$data,true);
$this->send_mail_to_wl("订单:{$coli_id} 出票失败","翰特订单号:{$coli_id};聚合订单号:{$jh_order}",$coli_id); $this->send_mail_to_wl("订单:{$coli_id} 出票失败","翰特订单号:{$coli_id};聚合订单号:{$jh_order}",$coli_id);
//测试阶段,将失败邮件发送一份给操作外联。 //测试阶段,将失败邮件发送一份给操作外联。
$flag = $this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$fromName,$fromEmail,$subject,$body); $flag = $this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$fromName,$fromEmail,$subject,$body);
//测试阶段,将失败邮件发送一份给操作外联。 //测试阶段,将失败邮件发送一份给操作外联。
$this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$toName,$toEmail,$subject,$body); $this->Sendmail_model->SendMailToTable($fromName,$fromEmail,$toName,$toEmail,$subject,$body);
$this->BIZ_train_model->update_biz_jol(array("ts_ordernumber"=>$jh_order),array("ts_sendmail"=>1,"ts_m_sn"=>$flag)); $this->BIZ_train_model->update_biz_jol(array("ts_ordernumber"=>$jh_order),array("ts_sendmail"=>1,"ts_m_sn"=>$flag));*/
} }
} }

@ -97,6 +97,7 @@ class callback extends CI_Controller{
$back_json = GetPost_http(JUHE_TRAIN_PAY_API,$post_data); $back_json = GetPost_http(JUHE_TRAIN_PAY_API,$post_data);
$update_data->bookcallback = $data_post["data"]; $update_data->bookcallback = $data_post["data"];
}elseif($data->status == "4"){ }elseif($data->status == "4"){
$add_train_order_data = new stdClass();
$add_train_order_data->TOC_Memo = $data->orderid." 聚合出票"; $add_train_order_data->TOC_Memo = $data->orderid." 聚合出票";
$add_train_order_data->TOC_COLD_SN = $data->user_orderid; $add_train_order_data->TOC_COLD_SN = $data->user_orderid;
$add_train_order_data->TOC_TrainNumber = $data->checi; $add_train_order_data->TOC_TrainNumber = $data->checi;
@ -153,7 +154,7 @@ class callback extends CI_Controller{
public function ctripcallback(){ public function ctripcallback(){
$back_json = file_get_contents('php://input'); $back_json = file_get_contents('php://input');
log_message('error','携程回调信息:'.$back_json); log_message('error','携程回调信息:'.$back_json);
//$back_json = '{"@attributes":{"xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"},"Authentication":{"TimeStamp":"2019-06-27 11:01:15","ServiceName":"web.order.notifyTicket","MessageIdentity":"08F97DF046FC32BB3F0CCBAF2DAAFB60","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1561604425","ElectronicOrderNumber":"ED35331748","OrderType":"\u7535\u5b50","OrderTotleFee":"490.50","TicketInfo":{"OrderTicketFromStation":"\u54c8\u5c14\u6ee8\u897f","OrderTicketToStation":"\u5317\u4eac","OrderTicketYMD":"20190726","OrderTicketTime":"10:43","OrderTicketCheci":"D102","OrderTicketPrice":"490.50","OrderAcceptSeat":{"0":"\n "},"OrderTicketSeat":"\u4e00\u7b49\u5ea7","SeatNumber":"08\u8f66\u53a214F\u53f7","railwayTip":{"0":"\n "},"AuditTicketCount":"1","ChildTicketCount":"0","Passengers":{"Passenger":{"RealName":"SHCHERBAKOVOLEG","IdentityType":"\u62a4\u7167","NumberID":"655103175","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"}}},"TicketInfoFinal":{"OrderTicketFromStation":"\u54c8\u5c14\u6ee8\u897f","OrderTicketToStation":"\u5317\u4eac","ChildBillid":{"0":"\n "},"ElectronicOrderNumber":"ED35331748","Result":"2","NoTicketReasons":{"0":"\n "},"OrderTicketYMD":"20190726","OrderTicketTime":"10:43","OrderTicketCheci":"D102","OrderTicketPrice":"490.50","SeatNumber":"08\u8f66\u53a214F\u53f7","railwayTip":{"0":"\n "},"TicketCheck":"\u68c0\u7968\u53e3B3\u53f7\u53e3","IsUserAcount":"0","ReturnFlag":"0","RescheduleFlag":"0","Tickets":{"Ticket":{"OrderTicketSeat":"\u4e00\u7b49\u5ea7","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"490.50","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"SHCHERBAKOVOLEG","IdentityType":"\u62a4\u7167","NumberID":"655103175","SeatNo":"08\u8f66\u53a214F\u53f7"}}}}}}}}'; //$back_json = '{"@attributes":{"xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"},"Authentication":{"TimeStamp":"2019-07-03 10:21:52","ServiceName":"web.order.notifyTicket","MessageIdentity":"3EB2E92F2105B787DFA590038B402A45","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1562120461","ElectronicOrderNumber":"EE78512679","OrderType":"\u7535\u5b50","OrderTotleFee":"1595.00","TicketInfo":{"OrderTicketFromStation":"\u5317\u4eac\u897f","OrderTicketToStation":"\u897f\u5b89","OrderTicketYMD":"20190719","OrderTicketTime":"20:12","OrderTicketCheci":"Z43","OrderTicketPrice":"797.50","OrderAcceptSeat":{"0":"\n "},"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","SeatNumber":"14\u8f66\u53a203\u53f7\u4e0b\u94fa,14\u8f66\u53a204\u53f7\u4e0a\u94fa","railwayTip":{"0":"\n "},"AuditTicketCount":"2","ChildTicketCount":"0","Passengers":{"Passenger":[{"RealName":"HUEIRENPAN","IdentityType":"\u62a4\u7167","NumberID":"505548383","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"},{"RealName":"HUEIYUANPAN","IdentityType":"\u62a4\u7167","NumberID":"523490332","TicketType":"\u6210\u4eba\u7968","Birth":{"0":"\n "},"InsuranceCount":"0"}]}},"TicketInfoFinal":{"OrderTicketFromStation":"\u5317\u4eac\u897f","OrderTicketToStation":"\u897f\u5b89","ChildBillid":{"0":"\n "},"ElectronicOrderNumber":"EE78512679","Result":"2","NoTicketReasons":{"0":"\n "},"OrderTicketYMD":"20190719","OrderTicketTime":"20:12","OrderTicketCheci":"Z43","OrderTicketPrice":"797.50","SeatNumber":"14\u8f66\u53a203\u53f7\u4e0b\u94fa","railwayTip":{"0":"\n "},"TicketCheck":{"0":"\n "},"IsUserAcount":"0","ReturnFlag":"0","RescheduleFlag":"0","Tickets":{"Ticket":[{"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"814.50","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"HUEIRENPAN","IdentityType":"\u62a4\u7167","NumberID":"505548383","SeatNo":"14\u8f66\u53a203\u53f7\u4e0b\u94fa"}}},{"OrderTicketSeat":"\u9ad8\u7ea7\u8f6f\u5367","TicketType":"\u6210\u4eba\u7968","OrderTicketPrice":"780.50","TicketCount":"1","DetailInfos":{"DetailInfo":{"PassengerName":"HUEIYUANPAN","IdentityType":"\u62a4\u7167","NumberID":"523490332","SeatNo":"14\u8f66\u53a204\u53f7\u4e0a\u94fa"}}}]}}}}}';
$ctrip_backdata = json_decode($back_json); $ctrip_backdata = json_decode($back_json);
//print_r($ctrip_backdata);die(); //print_r($ctrip_backdata);die();
if(!empty($ctrip_backdata)){ if(!empty($ctrip_backdata)){
@ -293,7 +294,7 @@ class callback extends CI_Controller{
//退票时还需要单独对对每个乘客存储回调信息 //退票时还需要单独对对每个乘客存储回调信息
$passpager_info = new stdClass(); $passpager_info = new stdClass();
$passpager_info->returncallback = $back_json; $passpager_info->returncallback = $back_json;
$passpager_info->OrderStatus = '7'; $passpager_info->status = '7';
$passpager_info->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber; $passpager_info->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
$passpager_info->realname = $ctrip_backdata->TrainOrderService->refundTicket->realName; $passpager_info->realname = $ctrip_backdata->TrainOrderService->refundTicket->realName;
$passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundTicket->passport; $passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundTicket->passport;

@ -132,12 +132,15 @@ class returnorders extends CI_Controller{
$PostData = array(); $PostData = array();
$TimeStamp = time(); $TimeStamp = time();
$time = date('Y-m-d H:i:s',$TimeStamp); $time = date('Y-m-d H:i:s',$TimeStamp);
$PostData['Authentication'] = new stdClass();
$PostData['Authentication']->TimeStamp = $time; $PostData['Authentication']->TimeStamp = $time;
$PostData['Authentication']->ServiceName = 'order.ticketReturn'; $PostData['Authentication']->ServiceName = 'order.ticketReturn';
$PostData['Authentication']->PartnerName = ORDERUSER; $PostData['Authentication']->PartnerName = ORDERUSER;
$MessageIdentity = md5($time.'order.ticketReturn'.ORDERKEY); $MessageIdentity = md5($time.'order.ticketReturn'.ORDERKEY);
$PostData['Authentication']->MessageIdentity = $MessageIdentity; $PostData['Authentication']->MessageIdentity = $MessageIdentity;
$PostData['TrainOrderService'] = new stdClass();
$PostData['TrainOrderService']->contactName = '陈宇超'; $PostData['TrainOrderService']->contactName = '陈宇超';
$PostData['TrainOrderService']->contactMobile = '18877381547'; $PostData['TrainOrderService']->contactMobile = '18877381547';
$PostData['TrainOrderService']->OrderNumber = $ticket_data->ts_ordernumber; $PostData['TrainOrderService']->OrderNumber = $ticket_data->ts_ordernumber;
@ -159,7 +162,7 @@ class returnorders extends CI_Controller{
//发起退票请求 //发起退票请求
$Url = 'http://m.ctrip.com/restapi/soa2/11009/json/PartnerReturnTicket'; $Url = 'http://m.ctrip.com/restapi/soa2/11009/json/PartnerReturnTicket';
$ResponseJson = GetPost_http($Url,json_encode($PostData),'POST'); $ResponseJson = GetPost_http($Url,json_encode($PostData),'json');
$ResponseData = json_decode($ResponseJson); $ResponseData = json_decode($ResponseJson);
if($ResponseData->Status == 'SUCCESS'){ if($ResponseData->Status == 'SUCCESS'){

@ -74,4 +74,9 @@ function GetPost_http($url, $data = '',$format='') {
return $tmpInfo; //返回数据 return $tmpInfo; //返回数据
} }
function get_microtime (){
list($s1, $s2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
}
?> ?>

@ -253,7 +253,7 @@ class BIZ_train_model extends CI_Model {
//自动获取符合自动出票要求的订单的coli_sn //自动获取符合自动出票要求的订单的coli_sn
function auto_check_ticket(){ function auto_check_ticket(){
$sql = "SELECT distinct top 50 COLD_SN ,coli_id,COLD_SPFS,COLI_State $sql = "SELECT distinct top 50 COLD_SN ,coli_id,COLD_SPFS,COLI_State,GAI_Type
FROM BIZ_ConfirmLineInfo bcli FROM BIZ_ConfirmLineInfo bcli
inner join BIZ_ConfirmLineDetail bcld on COLD_COLI_SN=COLI_SN inner join BIZ_ConfirmLineDetail bcld on COLD_COLI_SN=COLI_SN
LEFT JOIN BIZ_GroupAccountInfo bgai LEFT JOIN BIZ_GroupAccountInfo bgai
@ -261,8 +261,8 @@ class BIZ_train_model extends CI_Model {
WHERE bcli.COLI_ServiceType = '2' WHERE bcli.COLI_ServiceType = '2'
AND bcli.COLI_State in ('11','13','8','63') AND bcli.COLI_State in ('11','13','8','63')
AND bcli.COLI_WebCode in ('cht', 'JP', 'train_it', 'VC', 'train_ru','GM-Train','SHT','CT','WebMob-biz','WeChat-biz') AND bcli.COLI_WebCode in ('cht', 'JP', 'train_it', 'VC', 'train_ru','GM-Train','SHT','CT','WebMob-biz','WeChat-biz')
AND (bcli.COLI_Price - bgai.GAI_SQJE) <= 20 AND (bcli.COLI_Price - bgai.GAI_Money) <= 20
AND (bcli.COLI_Price - bgai.GAI_SQJE) >= 0 AND (bgai.GAI_Money - bcli.COLI_Price) >= 0
AND bcli.DeleteFlag = 0 AND bcli.DeleteFlag = 0
AND bgai.DeleteFlag = 0 AND bgai.DeleteFlag = 0
AND bcld.DeleteFlag = 0 AND bcld.DeleteFlag = 0

@ -266,7 +266,7 @@ class train_system_model extends CI_Model {
} }
public function test(){ public function test(){
$sql = "delete from trainsystem where ts_cold_sn = '488121613_1552637689'"; $sql = "delete from trainsystem where ts_id in ('13111','13081')";
$query = $this->INFO->query($sql); $query = $this->INFO->query($sql);
} }
} }

@ -30,6 +30,11 @@
} }
} }
function get_microtime (){
list($s1, $s2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
}
//发送请求函数 //发送请求函数
function post_tuniu($url, $data = '', $method = 'GET') { function post_tuniu($url, $data = '', $method = 'GET') {
$curl = curl_init(); // 启动一个CURL会话 $curl = curl_init(); // 启动一个CURL会话

Loading…
Cancel
Save