@ -8,6 +8,8 @@ class callback extends CI_Controller{
$this->load->helper('train');
$this->load->model("train_system_model");
$this->load->model("BIZ_train_model");
$this->train_certificateType = $this->config->item('train_certificateType');
$this->train_refundType = $this->config->item('train_refundType');
}
public function juhecallback(){
@ -178,7 +180,7 @@ class callback extends CI_Controller{
if(!empty($ctrip_backdata)){
//判断回调信息是否正确,主要判断是否是本企业的回调信息
$TimeStamp = $ctrip_backdata->timeStamp;
$TimeStamp = $ctrip_backdata->authentication-> timeStamp;
$serviceName = $ctrip_backdata->authentication->serviceName; //每个接口都有自己名称
$companyId = COMPANYID;
$key = CTRIPKEY;
@ -247,15 +249,17 @@ class callback extends CI_Controller{
}
$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加密)
$update_data->mobileNo = des_decrypt( $ctrip_backdata->ticketResult->orderMasterInfo->mobileNo,$key) ; //联系电话 (DES加密)
//人员及车票
$data_passager = new stdClass();
foreach ( $ctrip_backdata->ticketResult->passengerInfoList as $pItems) {
$data_passager->ordernumber = $ctrip_backdata->ticketResult->companyOrderId;
//人员列表
$data_passager->status = '4';
$data_passager->identitytype = $pItems->certificateType;
$certificateType = $this->train_certificateType[ $pItems->certificateType]; //证件类型, 身份证传1、护照2、回乡证7、台胞证8、外国人永久居留身份证28、港澳台居民居住证32;
$data_passager->identitytype = $certificateType;
$data_passager->realname = $pItems->certificateName;
$data_passager->numberid = des_decrypt($pItems->certificateNo,$key) ; //证件号码 (DES加密)
$data_passager->birthday = $pItems->birthday;
@ -290,7 +294,7 @@ class callback extends CI_Controller{
$data_passager->ticketprice = $tItems->realTicketPrice;
$SeatNo = "";
if (isset($tItems->carriageNo)){
$SeatNo.=$tItems->carriageNo;
$SeatNo.=$tItems->carriageNo."车厢" ;
}
if (isset($tItems->seatNo)){
$SeatNo.=$tItems->seatNo;
@ -313,6 +317,7 @@ class callback extends CI_Controller{
//添加支付记录
$add_train_payment_data = new stdClass();
$add_train_payment_data->TOC_Memo = $update_data->ordernumber.'出票费';
$add_train_payment_data->TOC_VEI_SN = "28209";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($update_data->ordernumber);
@ -322,17 +327,46 @@ class callback extends CI_Controller{
$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->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();
$this->BIZ_train_model->add_train_payment($add_train_payment_data);
//记录供应商(瀚特)
$this->BIZ_train_model->update_cold_planvei_sn($cold_sn,'28209');
}else if($update_data->ServiceName == 'notice.ordercancel'){ //订单取消
$update_data->ordernumber = $ctrip_backdata->cancelResult->companyOrderId;
$update_data->OrderStatus = '1 ';
$update_data->ErrorMsg = $ctrip_backdata->cancelResult->cancelTime;
$update_data->OrderStatus = 'c ';
$update_data->ErrorMsg = '订单取消'. $ctrip_backdata->cancelResult->cancelTime;
$update_data->confirmcallback = $back_json;
}else if($update_data->ServiceName == 'notice.refundresult'){ //退票
}else if($update_data->ServiceName == 'notice.refundresult'){ //退款通知
$update_data->ordernumber = $ctrip_backdata->refundResult->companyOrderId;
$update_data->OrderStatus = 'r';
$update_data->ErrorMsg = '退款:'.$ctrip_backdata->refundResult->refundTime;
$update_data->confirmcallback = $back_json;
//翰特添加退款记录
$refund_train_payment = new stdClass();
$return_order = $ctrip_backdata->refundResult->companyOrderId;
$return_money = $ctrip_backdata->refundResult->refundAmount; //退款金额
$refund_train_payment->TOC_VEI_SN = "28209";
//根据订单号获取cold_sn
$order_info = $this->train_system_model->get_order_info($return_order);
$cold_sn = $order_info->ts_cold_sn;
//print_r($order_info);
$refundType = $ctrip_backdata->refundResult->refundType; //退款类型int
$reason = $ctrip_backdata->refundResult->reason; //退款原因
$refundTime = $ctrip_backdata->refundResult->refundTime; //退款时间
$memo = $return_order.'_'.$this->train_refundType[$refundType].'_原因:'. $reason . '_' . $refundTime; //退款集合信息
$refund_train_payment->TOC_Memo = $memo;
$refund_train_payment->TOC_COLD_SN = $cold_sn;
$refund_train_payment->TOC_TrainNumber = $order_info->ts_checi;
$refund_train_payment->TOC_DepartureDate = $order_info->ts_startdate;
$refund_train_payment->TOC_TicketCost = -$return_money;
//print_r($add_train_payment_data);die();
$this->BIZ_train_model->refund_train_payment($refund_train_payment);
}else if($update_data->ServiceName == 'notice.returnresult'){ //退票
$update_data->ordernumber = $ctrip_backdata->refundResult->companyOrderId;
$update_data->OrderStatus = '7';
$update_data->ErrorMsg = $ctrip_backdata->refundResult->reason;