|
|
@ -166,17 +166,40 @@ class callback extends CI_Controller{
|
|
|
|
$this->train_system_model->update_orders($update_data);
|
|
|
|
$this->train_system_model->update_orders($update_data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function ctripcallback(){
|
|
|
|
public function shuntucallback(){
|
|
|
|
$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-11-13 10:31:00","ServiceName":"web.order.rescheduleResult","MessageIdentity":"31C01C2EC57C9B1D45C0727918B493AE","PartnerName":"tieyou"},"TrainOrderService":{"OrderInfo":{"OrderNumber":"guilintravel1573543590265","contactName":{},"contactMobile":{},"RescheduleTicketInfo":{"SubOrderId":"0","EOrderNumber":"EG59266341","ResFromStation":"\u6842\u6797","ResToStation":"\u6842\u6797\u5317","ResDepartTime":"2019-12-03 13:50:00","ResArriveTime":"2019-12-03 14:01:00","ResTrainNumber":"D2986","RescheduleTickets":{"RescheduleTicket":{"childBillId":{},"ResCarriageNo":"08","ResSeatNumber":"13F\u53f7","ResSeatName":"\u4e8c\u7b49\u5ea7","ResRealTicketPrice":"5.5","RescheduleLongTrainNum":"EG59266341208013F","eOrderType":"1","passport":"450302199208131039","passportName":"\u9648\u5b87\u8d85","realName":"\u9648\u5b87\u8d85","status":"1","ResFailReasons":{}}}}}}}';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$ctrip_backdata = json_decode($back_json);
|
|
|
|
$ctrip_backdata = json_decode($back_json);
|
|
|
|
// print_r($ctrip_backdata);
|
|
|
|
// print_r($ctrip_backdata);
|
|
|
|
|
|
|
|
// die();
|
|
|
|
|
|
|
|
|
|
|
|
if(!empty($ctrip_backdata)){
|
|
|
|
if(!empty($ctrip_backdata)){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//判断回调信息是否正确,主要判断是否是本企业的回调信息
|
|
|
|
|
|
|
|
$TimeStamp = $ctrip_backdata->timeStamp;
|
|
|
|
|
|
|
|
$serviceName = $ctrip_backdata->authentication->serviceName; //每个接口都有自己名称
|
|
|
|
|
|
|
|
$companyId = COMPANYID;
|
|
|
|
|
|
|
|
$key = CTRIPKEY;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** 测试服务器 */
|
|
|
|
|
|
|
|
$strSign = $TimeStamp.$serviceName.$companyId.$key; //加密前的令牌
|
|
|
|
|
|
|
|
$Sign = md5($strSign);
|
|
|
|
|
|
|
|
$messageIdentity = $ctrip_backdata->authentication->messageIdentity;
|
|
|
|
|
|
|
|
$ResultNoticeResponse = new stdClass();
|
|
|
|
|
|
|
|
if ($Sign == $messageIdentity){
|
|
|
|
|
|
|
|
$ResultNoticeResponse->returnCode = 1;
|
|
|
|
|
|
|
|
$ResultNoticeResponse->returnMsg = "success";
|
|
|
|
|
|
|
|
}else {
|
|
|
|
|
|
|
|
$ResultNoticeResponse->returnCode = 0;
|
|
|
|
|
|
|
|
$ResultNoticeResponse->returnMsg = "messageIdentity is error!";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
echo json_encode($ResultNoticeResponse);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//处理回调的内容,保存到本地及翰特
|
|
|
|
$update_data = new stdClass();
|
|
|
|
$update_data = new stdClass();
|
|
|
|
$update_data->ServiceName = $ctrip_backdata->Authentication->ServiceName;
|
|
|
|
$update_data->ServiceName = $ctrip_backdata->authentication->serviceName;
|
|
|
|
$update_data->ordernumber = '';
|
|
|
|
$update_data->ordernumber = '';
|
|
|
|
$update_data->seatsinfo = '';
|
|
|
|
$update_data->seatsinfo = '';
|
|
|
|
$update_data->TicketCheck = '';
|
|
|
|
$update_data->TicketCheck = '';
|
|
|
@ -187,130 +210,104 @@ class callback extends CI_Controller{
|
|
|
|
$update_data->ElectronicOrderNumber = '';
|
|
|
|
$update_data->ElectronicOrderNumber = '';
|
|
|
|
$update_data->reschedulecallback = '';
|
|
|
|
$update_data->reschedulecallback = '';
|
|
|
|
$update_data->OrderTicketTime = '';
|
|
|
|
$update_data->OrderTicketTime = '';
|
|
|
|
|
|
|
|
//新字段
|
|
|
|
|
|
|
|
$update_data->operateTradeNo ="";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if($update_data->ServiceName == 'web.order.notifyTicket'){
|
|
|
|
if($update_data->ServiceName == 'notice.ticketresult'){
|
|
|
|
|
|
|
|
if ( $ctrip_backdata->ticketResult->resultCode == 1){
|
|
|
|
$update_data->OrderStatus = '4';
|
|
|
|
$update_data->OrderStatus = '4';
|
|
|
|
|
|
|
|
if (isset($ctrip_backdata->ticketResult->resultMsg)){
|
|
|
|
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->ticketResult->resultMsg;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
$update_data->ErrorMsg = '出票成功';
|
|
|
|
$update_data->ErrorMsg = '出票成功';
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
|
|
|
|
$update_data->OrderTotleFee = $ctrip_backdata->TrainOrderService->OrderInfo->OrderTotleFee;
|
|
|
|
|
|
|
|
$update_data->ElectronicOrderNumber = $ctrip_backdata->TrainOrderService->OrderInfo->ElectronicOrderNumber;
|
|
|
|
|
|
|
|
$update_data->bookcallback = $back_json;
|
|
|
|
|
|
|
|
$update_data->OrderTicketTime = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新添加检票口信息
|
|
|
|
|
|
|
|
if(isset($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck)){
|
|
|
|
|
|
|
|
if(!is_object($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck)){
|
|
|
|
|
|
|
|
$update_data->TicketCheck = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->TicketCheck;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$person_num = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->AuditTicketCount + $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->ChildTicketCount;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//存储座位信息 转换为英文
|
|
|
|
|
|
|
|
$coach_arr = array();
|
|
|
|
|
|
|
|
$seats_arr = array();
|
|
|
|
|
|
|
|
$seatsinfo_arr = array();
|
|
|
|
|
|
|
|
$find = array('车厢','号','上铺','中铺','下铺');
|
|
|
|
|
|
|
|
$replace = array('coach','',' upper',' middle',' lower');
|
|
|
|
|
|
|
|
$seatsinfo = str_replace($find,$replace,$ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->SeatNumber);
|
|
|
|
|
|
|
|
$seatsinfo = mb_substr($seatsinfo,0,mb_strlen($seatsinfo,'UTF8')-1);
|
|
|
|
|
|
|
|
$seatsinfo_arr = explode(',',$seatsinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach($seatsinfo_arr as $item){
|
|
|
|
|
|
|
|
$coach = mb_substr($item,0,strpos($item,'coach'));
|
|
|
|
|
|
|
|
array_push($coach_arr,$coach);
|
|
|
|
|
|
|
|
$seat = mb_substr($item,strpos($item,'coach')+5,mb_strlen($item,'UTF8'));
|
|
|
|
|
|
|
|
array_push($seats_arr,$seat);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$update_data->seatsinfo = '';
|
|
|
|
|
|
|
|
if(count(array_unique($coach_arr)) == 1){
|
|
|
|
|
|
|
|
$onlycoach = array_unique($coach_arr);
|
|
|
|
|
|
|
|
$update_data->seatsinfo .= 'Coach '.$onlycoach[0].',seat ';
|
|
|
|
|
|
|
|
foreach ($seats_arr as $seat_items){
|
|
|
|
|
|
|
|
$update_data->seatsinfo .= $seat_items .',';
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
for($i=0;$i<count($coach_arr);$i++){
|
|
|
|
$update_data->OrderStatus = '5';
|
|
|
|
if($i == 0){
|
|
|
|
if (isset($ctrip_backdata->ticketResult->resultMsg)){
|
|
|
|
$update_data->seatsinfo .= 'Coach '.$coach_arr[$i].',Seat '.$seats_arr[$i].',';
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->ticketResult->resultMsg;
|
|
|
|
}else{
|
|
|
|
|
|
|
|
if($coach_arr[$i] == $coach_arr[$i-1]){
|
|
|
|
|
|
|
|
$update_data->seatsinfo .= $seats_arr[$i].',';
|
|
|
|
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
$update_data->seatsinfo .= 'Coach '.$coach_arr[$i].',Seat '.$seats_arr[$i].',';
|
|
|
|
$update_data->ErrorMsg = '出票失败';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->ticketResult->companyOrderId;
|
|
|
|
|
|
|
|
if (isset($ctrip_backdata->ticketResult->orderMasterInfo->totalPayAmount)){
|
|
|
|
|
|
|
|
$update_data->OrderTotleFee = $ctrip_backdata->ticketResult->orderMasterInfo->totalPayAmount; //总价
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isset($ctrip_backdata->ticketResult->operateTradeNo)) {
|
|
|
|
|
|
|
|
$update_data->operateTradeNo = $ctrip_backdata->ticketResult->operateTradeNo; //操作流水号 如产生差额退款或者无票退款,退款通知里会有相同的操作流水号做对应。
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$update_data->seatsinfo = substr($update_data->seatsinfo,0,strlen($update_data->seatsinfo)-1);
|
|
|
|
$update_data->bookcallback = $back_json;
|
|
|
|
|
|
|
|
//$update_data->OrderTicketTime = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新接口数据,不一定保存到数据库里面,原订单已有,做个记录
|
|
|
|
|
|
|
|
if (isset( $ctrip_backdata->ticketResult->ticketSuccTime)){
|
|
|
|
|
|
|
|
$update_data->ticketSuccTime = $ctrip_backdata->ticketResult->ticketSuccTime; //出票成功时间
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
$update_data->orderType = $ctrip_backdata->ticketResult->orderMasterInfo->orderType; //订单类型 0电子票 1配送票 2人工客票 3抢票订单
|
|
|
|
|
|
|
|
$update_data->contactName = $ctrip_backdata->ticketResult->orderMasterInfo->contactName; //联系人
|
|
|
|
|
|
|
|
$update_data->mobileNo = $ctrip_backdata->ticketResult->orderMasterInfo->mobileNo; //联系电话 (DES加密)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//人员及车票
|
|
|
|
$data_passager = new stdClass();
|
|
|
|
$data_passager = new stdClass();
|
|
|
|
if($person_num > 1){
|
|
|
|
|
|
|
|
//对订票乘客进行存储
|
|
|
|
foreach ( $ctrip_backdata->ticketResult->passengerInfoList as $pItems) {
|
|
|
|
|
|
|
|
//人员列表
|
|
|
|
$data_passager->status = '4';
|
|
|
|
$data_passager->status = '4';
|
|
|
|
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$data_passager->identitytype = $pItems->certificateType;
|
|
|
|
if(is_array($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket)){
|
|
|
|
$data_passager->realname = $pItems->certificateName;
|
|
|
|
foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket as $tickets_item){
|
|
|
|
$data_passager->numberid = des_decrypt($pItems->certificateNo,$key) ; //证件号码 (DES加密)
|
|
|
|
if(is_array($tickets_item->DetailInfos->DetailInfo)){
|
|
|
|
$data_passager->birthday = $pItems->birthday;
|
|
|
|
foreach($tickets_item->DetailInfos->DetailInfo as $ticket_item2){
|
|
|
|
if ($pItems->passengerType==2){
|
|
|
|
$data_passager->realname = $ticket_item2->PassengerName;
|
|
|
|
$passengerType = "儿童";
|
|
|
|
$data_passager->identitytype = $ticket_item2->IdentityType;
|
|
|
|
|
|
|
|
$data_passager->numberid = $ticket_item2->NumberID;
|
|
|
|
|
|
|
|
$data_passager->ticketype = $tickets_item->TicketType;
|
|
|
|
|
|
|
|
$data_passager->ticketprice = $tickets_item->OrderTicketPrice;
|
|
|
|
|
|
|
|
$data_passager->seatype = $tickets_item->OrderTicketSeat;
|
|
|
|
|
|
|
|
$data_passager->seatdetail = $ticket_item2->SeatNo;
|
|
|
|
|
|
|
|
$data_passager->longtrainno = $ticket_item2->LongTrainNo;
|
|
|
|
|
|
|
|
$data_passager->TOC_VEI_SN = 28209;
|
|
|
|
|
|
|
|
$this->train_system_model->add_passagers($data_passager);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
$data_passager->realname = $tickets_item->DetailInfos->DetailInfo->PassengerName;
|
|
|
|
$passengerType = "成人";
|
|
|
|
$data_passager->identitytype = $tickets_item->DetailInfos->DetailInfo->IdentityType;
|
|
|
|
|
|
|
|
$data_passager->numberid = $tickets_item->DetailInfos->DetailInfo->NumberID;
|
|
|
|
|
|
|
|
$data_passager->ticketype = $tickets_item->TicketType;
|
|
|
|
|
|
|
|
$data_passager->ticketprice = $tickets_item->OrderTicketPrice;
|
|
|
|
|
|
|
|
$data_passager->seatype = $tickets_item->OrderTicketSeat;
|
|
|
|
|
|
|
|
$data_passager->seatdetail = $tickets_item->DetailInfos->DetailInfo->SeatNo;
|
|
|
|
|
|
|
|
$data_passager->longtrainno = $tickets_item->DetailInfos->DetailInfo->LongTrainNo;
|
|
|
|
|
|
|
|
$data_passager->TOC_VEI_SN = 28209;
|
|
|
|
|
|
|
|
$this->train_system_model->add_passagers($data_passager);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$data_passager->ticketype = $passengerType; //乘客类型 1成人 2儿童
|
|
|
|
|
|
|
|
$passengerId = $pItems->passengerId;
|
|
|
|
|
|
|
|
foreach ( $ctrip_backdata->ticketResult->orderRouteInfoList as $rItems ){
|
|
|
|
|
|
|
|
//行程,目前我们都是单程提交,所以这里应该只有单程
|
|
|
|
|
|
|
|
$routeId = $rItems->routeId;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (isset($rItems->elecNo)){
|
|
|
|
|
|
|
|
$elecNo = $rItems->elecNo; //电子订单号,即12306取票号
|
|
|
|
|
|
|
|
$update_data->ElectronicOrderNumber = $elecNo ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
if (isset($rItems->checkWindow)){
|
|
|
|
foreach($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo as $items){
|
|
|
|
$checkWindow = $rItems->checkWindow; //检票口
|
|
|
|
//对订票乘客进行存储
|
|
|
|
$update_data->TicketCheck = $checkWindow;
|
|
|
|
$data_passager->status = '4';
|
|
|
|
|
|
|
|
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
|
|
|
|
$data_passager->realname = $items->PassengerName;
|
|
|
|
|
|
|
|
$data_passager->identitytype = $items->IdentityType;
|
|
|
|
|
|
|
|
$data_passager->numberid = $items->NumberID;
|
|
|
|
|
|
|
|
$data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType;
|
|
|
|
|
|
|
|
$data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice;
|
|
|
|
|
|
|
|
$data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat;
|
|
|
|
|
|
|
|
$data_passager->seatdetail = $items->SeatNo;
|
|
|
|
|
|
|
|
$data_passager->longtrainno = $items->LongTrainNo;
|
|
|
|
|
|
|
|
$data_passager->TOC_VEI_SN = 28209;
|
|
|
|
|
|
|
|
$this->train_system_model->add_passagers($data_passager);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$data_passager->seatype = $rItems->ticketSeat;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$update_data->trainNo = $rItems->trainNo; //车次
|
|
|
|
|
|
|
|
$update_data->departTime = $rItems->departTime; //车次出发时间
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($ctrip_backdata->ticketResult->orderTicketInfoList as $tItems) {
|
|
|
|
|
|
|
|
//对应的车票列表
|
|
|
|
|
|
|
|
if ($passengerId == $tItems->passengerId && $routeId==$tItems->routeId){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$data_passager->ticketprice = $tItems->realTicketPrice;
|
|
|
|
|
|
|
|
$SeatNo = "";
|
|
|
|
|
|
|
|
if (isset($tItems->carriageNo)){
|
|
|
|
|
|
|
|
$SeatNo.=$tItems->carriageNo;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
if (isset($tItems->seatNo)){
|
|
|
|
//对订票乘客进行存储
|
|
|
|
$SeatNo.=$tItems->seatNo;
|
|
|
|
$data_passager->status = '4';
|
|
|
|
}
|
|
|
|
$data_passager->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$data_passager->seatdetail = $SeatNo;
|
|
|
|
$data_passager->realname = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->PassengerName;
|
|
|
|
$data_passager->longtrainno = $tItems->longElecNo;
|
|
|
|
$data_passager->identitytype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->IdentityType;
|
|
|
|
|
|
|
|
$data_passager->numberid = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->NumberID;
|
|
|
|
//入库
|
|
|
|
$data_passager->ticketype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->TicketType;
|
|
|
|
|
|
|
|
$data_passager->ticketprice = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketPrice;
|
|
|
|
|
|
|
|
$data_passager->seatype = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->OrderTicketSeat;
|
|
|
|
|
|
|
|
$data_passager->seatdetail = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->SeatNo;
|
|
|
|
|
|
|
|
$data_passager->longtrainno = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfoFinal->Tickets->Ticket->DetailInfos->DetailInfo->LongTrainNo;
|
|
|
|
|
|
|
|
$data_passager->TOC_VEI_SN = 28209;
|
|
|
|
|
|
|
|
$this->train_system_model->add_passagers($data_passager);
|
|
|
|
$this->train_system_model->add_passagers($data_passager);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/****************************************************************************************/
|
|
|
|
/****************************************************************************************/
|
|
|
|
//添加支付记录
|
|
|
|
//添加支付记录
|
|
|
@ -321,34 +318,34 @@ class callback extends CI_Controller{
|
|
|
|
$order_info = $this->train_system_model->get_order_info($update_data->ordernumber);
|
|
|
|
$order_info = $this->train_system_model->get_order_info($update_data->ordernumber);
|
|
|
|
$cold_sn = $order_info->ts_cold_sn;
|
|
|
|
$cold_sn = $order_info->ts_cold_sn;
|
|
|
|
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
|
|
|
|
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
|
|
|
|
$add_train_payment_data->TOC_TrainNumber = $ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketCheci;
|
|
|
|
$add_train_payment_data->TOC_TrainNumber = $update_data->trainNo;
|
|
|
|
$add_train_payment_data->TOC_DepartureDate = date('Y-m-d',strtotime($ctrip_backdata->TrainOrderService->OrderInfo->TicketInfo->OrderTicketYMD));
|
|
|
|
$add_train_payment_data->TOC_DepartureDate = date('Y-m-d',strtotime($update_data->departTime ));
|
|
|
|
$add_train_payment_data->TOC_TicketCost = $update_data->OrderTotleFee;
|
|
|
|
$add_train_payment_data->TOC_TicketCost = $update_data->OrderTotleFee;
|
|
|
|
$add_train_payment_data->poundage = ($person_num*5)."";//手续费,每人五块,转换成字符串
|
|
|
|
$add_train_payment_data->poundage = "";
|
|
|
|
$add_train_payment_data->FOI_TrainNetOrderNo = $update_data->ElectronicOrderNumber;
|
|
|
|
$add_train_payment_data->FOI_TrainNetOrderNo = $update_data->ElectronicOrderNumber;
|
|
|
|
//print_r($add_train_order_data);die();
|
|
|
|
//print_r($add_train_order_data);die();
|
|
|
|
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
|
|
|
|
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
|
|
|
|
//记录供应商(瀚特)
|
|
|
|
//记录供应商(瀚特)
|
|
|
|
$this->BIZ_train_model->update_cold_planvei_sn($cold_sn,'28209');
|
|
|
|
$this->BIZ_train_model->update_cold_planvei_sn($cold_sn,'28209');
|
|
|
|
}else if($update_data->ServiceName == 'web.order.notifyNoTicket'){
|
|
|
|
}else if($update_data->ServiceName == 'notice.ordercancel'){ //订单取消
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->cancelResult->companyOrderId;
|
|
|
|
$update_data->OrderStatus = '1';
|
|
|
|
$update_data->OrderStatus = '1';
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->TrainOrderService->OrderInfo->NoTicketReasons;
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->cancelResult->cancelTime;
|
|
|
|
$update_data->confirmcallback = $back_json;
|
|
|
|
$update_data->confirmcallback = $back_json;
|
|
|
|
}else if($update_data->ServiceName == 'web.order.returnTicketNotice'){
|
|
|
|
}else if($update_data->ServiceName == 'notice.refundresult'){ //退票
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->refundResult->companyOrderId;
|
|
|
|
$update_data->OrderStatus = '7';
|
|
|
|
$update_data->OrderStatus = '7';
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->TrainOrderService->refundTicket->reason;
|
|
|
|
$update_data->ErrorMsg = $ctrip_backdata->refundResult->reason;
|
|
|
|
$update_data->returncallback = $back_json;
|
|
|
|
$update_data->returncallback = $back_json;
|
|
|
|
|
|
|
|
|
|
|
|
//退票时还需要单独对对每个乘客存储回调信息
|
|
|
|
// //退票时还需要单独对对每个乘客存储回调信息
|
|
|
|
$passpager_info = new stdClass();
|
|
|
|
// $passpager_info = new stdClass();
|
|
|
|
$passpager_info->returncallback = $back_json;
|
|
|
|
// $passpager_info->returncallback = $back_json;
|
|
|
|
$passpager_info->status = '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;
|
|
|
|
$this->train_system_model->update_passpager_info($passpager_info);
|
|
|
|
// $this->train_system_model->update_passpager_info($passpager_info);
|
|
|
|
}elseif($update_data->ServiceName == 'web.order.returnRescheduleResult'){
|
|
|
|
}elseif($update_data->ServiceName == 'web.order.returnRescheduleResult'){
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderNumber;
|
|
|
|
$update_data->OrderStatus = '7';
|
|
|
|
$update_data->OrderStatus = '7';
|
|
|
@ -363,23 +360,23 @@ class callback extends CI_Controller{
|
|
|
|
$passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundRescheduleTicket->passport;
|
|
|
|
$passpager_info->numberid = $ctrip_backdata->TrainOrderService->refundRescheduleTicket->passport;
|
|
|
|
$this->train_system_model->update_passpager_info($passpager_info);
|
|
|
|
$this->train_system_model->update_passpager_info($passpager_info);
|
|
|
|
}else if($update_data->ServiceName == 'web.order.requestRefund'){
|
|
|
|
}else if($update_data->ServiceName == 'web.order.requestRefund'){
|
|
|
|
$return_order = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
// $return_order = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$return_money = $ctrip_backdata->TrainOrderService->TotalRefundAmount;
|
|
|
|
// $return_money = $ctrip_backdata->TrainOrderService->TotalRefundAmount;
|
|
|
|
|
|
|
|
|
|
|
|
//根据订单号获取cold_sn
|
|
|
|
// //根据订单号获取cold_sn
|
|
|
|
$order_info = $this->train_system_model->get_order_info($return_order);
|
|
|
|
// $order_info = $this->train_system_model->get_order_info($return_order);
|
|
|
|
$cold_sn = $order_info->ts_cold_sn;
|
|
|
|
// $cold_sn = $order_info->ts_cold_sn;
|
|
|
|
//print_r($order_info);
|
|
|
|
// //print_r($order_info);
|
|
|
|
|
|
|
|
|
|
|
|
$add_train_payment_data->TOC_Memo = $return_order.'_'.$ctrip_backdata->TrainOrderService->OrderInfo->OrderTid;
|
|
|
|
// $add_train_payment_data->TOC_Memo = $return_order.'_'.$ctrip_backdata->TrainOrderService->OrderInfo->OrderTid;
|
|
|
|
$add_train_payment_data->TOC_COLD_SN = $cold_sn;
|
|
|
|
// $add_train_payment_data->TOC_COLD_SN = $cold_sn;
|
|
|
|
$add_train_payment_data->TOC_TrainNumber = $order_info->ts_checi;
|
|
|
|
// $add_train_payment_data->TOC_TrainNumber = $order_info->ts_checi;
|
|
|
|
$add_train_payment_data->TOC_DepartureDate = $order_info->ts_startdate;
|
|
|
|
// $add_train_payment_data->TOC_DepartureDate = $order_info->ts_startdate;
|
|
|
|
$add_train_payment_data->TOC_TicketCost = -$ctrip_backdata->TrainOrderService->TotalRefundAmount;
|
|
|
|
// $add_train_payment_data->TOC_TicketCost = -$ctrip_backdata->TrainOrderService->TotalRefundAmount;
|
|
|
|
$add_train_payment_data->FOI_TrainNetOrderNo=null;
|
|
|
|
// $add_train_payment_data->FOI_TrainNetOrderNo=null;
|
|
|
|
//print_r($add_train_payment_data);die();
|
|
|
|
// //print_r($add_train_payment_data);die();
|
|
|
|
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
|
|
|
|
// $this->BIZ_train_model->add_train_payment($add_train_payment_data);
|
|
|
|
return false;
|
|
|
|
// return false;
|
|
|
|
}else if ($update_data->ServiceName == 'web.order.rescheduleResult'){
|
|
|
|
}else if ($update_data->ServiceName == 'web.order.rescheduleResult'){
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$update_data->ordernumber = $ctrip_backdata->TrainOrderService->OrderInfo->OrderNumber;
|
|
|
|
$reschedule_status = $ctrip_backdata->TrainOrderService->OrderInfo->RescheduleTicketInfo->RescheduleTickets->RescheduleTicket->status;
|
|
|
|
$reschedule_status = $ctrip_backdata->TrainOrderService->OrderInfo->RescheduleTicketInfo->RescheduleTickets->RescheduleTicket->status;
|
|
|
@ -402,6 +399,12 @@ class callback extends CI_Controller{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//更新订单信息(出票系统)
|
|
|
|
//更新订单信息(出票系统)
|
|
|
|
$this->train_system_model->update_orders($update_data);
|
|
|
|
$this->train_system_model->update_orders($update_data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// //返回结果
|
|
|
|
|
|
|
|
// $returnResult = new stdClass();
|
|
|
|
|
|
|
|
// $returnResult->returnCode = 1;
|
|
|
|
|
|
|
|
// $returnResult->returnMsg = "";
|
|
|
|
|
|
|
|
// echo(json_encode($returnResult));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|