Merge branch 'master' of gitee.com:hainatravel/information-system
commit
13398cf4ed
@ -0,0 +1,84 @@
|
||||
<?php
|
||||
if (!defined('BASEPATH'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
class reschedule extends CI_Controller{
|
||||
public function __construct(){
|
||||
parent::__construct();
|
||||
$this->load->helper('train');
|
||||
$this->load->model("train_system_model");
|
||||
}
|
||||
|
||||
public function index(){
|
||||
echo 'reschrdule';
|
||||
}
|
||||
|
||||
//携程改签模块
|
||||
public function ctripModel(){
|
||||
$orderNumber = $this->input->get_post('orderNumber');
|
||||
$orderNumber = 'guilintravel1573543590265';
|
||||
if(empty($orderNumber)){
|
||||
exit('orderNumber error');
|
||||
}else{
|
||||
//接收改签的火车参数
|
||||
$RescheduleTrainNumber = $this->input->get_post('RescheduleTrainNumber');
|
||||
$DepartStationName = $this->input->get_post('DepartStationName');
|
||||
$ArriveStationName = $this->input->get_post('ArriveStationName');
|
||||
$RescheduleDepartTime = $this->input->get_post('RescheduleDepartTime');
|
||||
$RescheduleArriveTime = $this->input->get_post('RescheduleArriveTime');
|
||||
$RescheduleTicketPrice = $this->input->get_post('RescheduleTicketPrice');
|
||||
$RescheduleSeatName = $this->input->get_post('RescheduleSeatName');
|
||||
$RescheduleAcceptSeatName = $this->input->get_post('RescheduleAcceptSeatName');
|
||||
$PassagerName = $this->input->get_post('PassagerName');
|
||||
$Ticketype = $this->input->get_post('Ticketype');
|
||||
$IdentityType = $this->input->get_post('IdentityType');
|
||||
$PassagerId = $this->input->get_post('PassagerId');
|
||||
$Coach = $this->input->get_post('Coach');
|
||||
$Seat = $this->input->get_post('Seat');
|
||||
|
||||
//开始改签流
|
||||
$postData = array();
|
||||
$time = date('Y-m-d H:i:s',time());
|
||||
$postData['Authentication'] = new stdClass();
|
||||
$postData['Authentication']->TimeStamp = $time;
|
||||
$postData['Authentication']->ServiceName = 'order.partnerreschedule';
|
||||
$postData['Authentication']->PartnerName = 'Ctrip.Corp';
|
||||
$MessageIdentity = md5($time.'order.partnerreschedule'.ORDERKEY);
|
||||
$postData['Authentication']->MessageIdentity = $MessageIdentity;
|
||||
|
||||
$postData['TrainOrderService'] = new stdClass();
|
||||
$postData['TrainOrderService']->OrderNumber = $orderNumber;
|
||||
$postData['TrainOrderService']->Operator = 'guilintravel';
|
||||
$postData['TrainOrderService']->RescheduleTrainNumber = $RescheduleTrainNumber;
|
||||
$postData['TrainOrderService']->DepartStationName = $DepartStationName;
|
||||
$postData['TrainOrderService']->ArriveStationName = $ArriveStationName;
|
||||
$postData['TrainOrderService']->RescheduleDepartTime = $RescheduleDepartTime;
|
||||
$postData['TrainOrderService']->RescheduleArriveTime = $RescheduleArriveTime;
|
||||
$postData['TrainOrderService']->RescheduleTicketPrice = $RescheduleTicketPrice;
|
||||
$postData['TrainOrderService']->RescheduleSeatName = $RescheduleSeatName['0'];
|
||||
//$postData['TrainOrderService']->RescheduleAcceptSeatName = '无座';
|
||||
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos = array();
|
||||
|
||||
foreach ($PassagerName as $key=>$name){
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key] = new stdClass();
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->eOrderNumber = '';
|
||||
if($Ticketype[$key] == '儿童票'){
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->eOrderType = 2;
|
||||
}else{
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->eOrderType = 1;
|
||||
}
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->realName = $name;
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->CarriageNo = $Coach[$key];
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->seatNumber = $Seat[$key];
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->passportName = $name;
|
||||
$postData['TrainOrderService']->RescheduleTicketPassengerInfos[$key]->passport = $PassagerId[$key];
|
||||
}
|
||||
|
||||
//print_r(json_encode($postData));die();
|
||||
$url = 'http://m.ctrip.com/restapi/soa2/11009/json/PartnerReschedule';
|
||||
$responseJson = GetPost_http($url,json_encode($postData),'json');
|
||||
print_r($responseJson);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,271 @@
|
||||
<div style="width:90%;margin:30px auto;">
|
||||
<div class="panel panel-primary" style="border-color: #337ab7;">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">携程火车改签申请</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<form method="get">
|
||||
<div class="col-md-6">
|
||||
<input type="text" class="form-control" placeholder="请输入携程订单号" name="order" value="<?php echo $order?>"/>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<button type="submit" id="sub" class="btn btn-success btn-sm">
|
||||
<span class="glyphicon glyphicon-search"></span> 获取订单信息
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(!empty($detail)){ ?>
|
||||
<div class="panel panel-primary" style="border-color: #337ab7;">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">火车数据详情</h3>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group form-inline">
|
||||
<label for="exampleInputName2">订单号</label>
|
||||
<input style="width:161px;" type="text" class="form-control" name="ordernumber" value="<?php echo $detail['0']->ts_ordernumber; ?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>出发城市</label>
|
||||
<input style="width:85px;" type="text" class="form-control" name="departcity" value="<?php echo $detail['0']->ts_fromstationame; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>到达城市</label>
|
||||
<input style="width:85px;" type="text" class="form-control" name="arrivecity" value="<?php echo $detail['0']->ts_tostationame; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 form-inline">
|
||||
<div class="form-group">
|
||||
<label>出发时间</label>
|
||||
<input style="width:140px" type="text" class="form-control" name="departime" value="<?php echo $detail['0']->ts_startdate.' '.$detail['0']->ts_startime; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 form-inline">
|
||||
<div class="form-group">
|
||||
<label>到达时间</label>
|
||||
<input style="width:140px" type="text" class="form-control" name="arrivetime" value="<?php echo $detail['0']->ts_startdate.' '.$detail['0']->ts_endtime; ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>车次</label>
|
||||
<input style="width:80px" type="text" class="form-control" name="checi" value="<?php echo $detail['0']->ts_checi ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>票价</label>
|
||||
<input style="width:80px" type="text" class="form-control" name="price" value="<?php echo $detail['0']->tst_ticketprice ?>" readonly />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<?php
|
||||
foreach ($detail as $passpagerItems){
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-md-1">
|
||||
<div>
|
||||
<input style="margin-top:15px" type="checkbox" class="singleselect">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 form-inline">
|
||||
<div class="form-group">
|
||||
<label>姓名</label>
|
||||
<input style="width:150px;" type="text" name="passgername[]" class="form-control" value="<?php echo $passpagerItems->tst_realname?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>车票类型</label>
|
||||
<input style="width:80px;" type="text" name="ticketype[]" class="form-control" value="<?php echo $passpagerItems->tst_ticketype?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>证件类型</label>
|
||||
<input style="width:85px;" type="text" name="identitytype[]" class="form-control" value="<?php echo $passpagerItems->tst_identitytype?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5 form-inline">
|
||||
<div class="form-group">
|
||||
<label>乘客证件号码</label>
|
||||
<input style="width:150px;" type="text" name="passagerid[]" class="form-control" value="<?php echo $passpagerItems->tst_numberid ?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>座位类型</label>
|
||||
<input style="width:80px;" type="text" name="seatype[]" class="form-control" value="<?php echo $passpagerItems->tst_seatstype ?>" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$coachLength = strrpos($passpagerItems->tst_seatdetail,'车厢');
|
||||
$coach = mb_substr($passpagerItems->tst_seatdetail,0,$coachLength);
|
||||
$seat = mb_substr($passpagerItems->tst_seatdetail,$coachLength+2,mb_strlen($passpagerItems->tst_seatdetail));
|
||||
?>
|
||||
<div class="col-md-2 form-inline">
|
||||
<div class="form-group">
|
||||
<label>车厢</label>
|
||||
<input style="width:50px;" type="text" name="coach[]" class="form-control" value="<?php echo $coach ?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 form-inline">
|
||||
<div class="form-group">
|
||||
<label>座位号</label>
|
||||
<input style="width:80px;" type="text" name="seat[]" class="form-control" value="<?php echo $seat ?>" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<?php } ?>
|
||||
|
||||
<div class="row" style="margin-top:20px;">
|
||||
<!--<div class="col-md-2">
|
||||
<button class="btn btn-success checked_pay">一键改签</button>
|
||||
</div>-->
|
||||
<div class="col-md-3">
|
||||
<button class="btn btn-success" id="reschedule_select">单个改签</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
//发起改签流程
|
||||
$('#reschedule_select').click(function(){
|
||||
//获取改签所需要的数据
|
||||
var ordernumber = $('input[name="ordernumber"]').val();
|
||||
var departcity = $('input[name="departcity"]').val();
|
||||
var arrivecity = $('input[name="arrivecity"]').val();
|
||||
var departime = $('input[name="departime"]').val();
|
||||
var arrivetime = $('input[name="arrivetime"]').val();
|
||||
var checi = $('input[name="checi"]').val();
|
||||
var price = $('input[name="price"]').val();
|
||||
|
||||
//判断是否有勾选改签的乘客
|
||||
if($('.singleselect').is(':checked')){
|
||||
var passgername = [];
|
||||
$('input[name="passgername[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
passgername.push(elements.value);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var ticketype = [];
|
||||
$('input[name="ticketype[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
ticketype.push(elements.value);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
var identitytype = [];
|
||||
$('input[name="identitytype[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
identitytype.push(elements.value);
|
||||
}
|
||||
});
|
||||
|
||||
var passagerid = [];
|
||||
$('input[name="passagerid[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
passagerid.push(elements.value);
|
||||
}
|
||||
});
|
||||
|
||||
var seatype = [];
|
||||
$('input[name="seatype[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
seatype.push(elements.value);
|
||||
}
|
||||
});
|
||||
|
||||
var coach = [];
|
||||
$('input[name="coach[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
coach.push(elements.value);
|
||||
}
|
||||
});
|
||||
|
||||
var seat = [];
|
||||
$('input[name="seat[]"]').each(function(index,elements){
|
||||
if($(this).hasClass('selecting')){
|
||||
seat.push(elements.value);
|
||||
}
|
||||
});
|
||||
|
||||
//发起异步提交
|
||||
$.ajax({
|
||||
url:'/info.php/apps/trainsystem/reschedule/ctripModel',
|
||||
type:"POST",
|
||||
data:{
|
||||
orderNumber:ordernumber,
|
||||
DepartStationName:departcity,
|
||||
ArriveStationName:arrivecity,
|
||||
RescheduleDepartTime:departime,
|
||||
RescheduleArriveTime:arrivetime,
|
||||
RescheduleTrainNumber:checi,
|
||||
RescheduleTicketPrice:price,
|
||||
PassagerName:passgername,
|
||||
Ticketype:ticketype,
|
||||
IdentityType:identitytype,
|
||||
PassagerId:passagerid,
|
||||
RescheduleSeatName:seatype,
|
||||
Coach:coach,
|
||||
Seat:seat
|
||||
},
|
||||
beforeSend:function(){
|
||||
$('#reschedule_select').html('改签请求已发送...');
|
||||
$('#reschedule_select').addClass('disabled');
|
||||
},
|
||||
success:function(json,status){
|
||||
var data = $.parseJSON(json);
|
||||
alert(data.Discription);
|
||||
$('#reschedule_select').html('单个改签');
|
||||
$('#reschedule_select').removeClass('disabled');
|
||||
}
|
||||
});
|
||||
}else{
|
||||
alert('请勾选乘客!');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//选择功能
|
||||
$('.singleselect').click(function(){
|
||||
var selectpassager = $(this).parent().parent().parent();
|
||||
if($(selectpassager).find('input').hasClass('selecting')){
|
||||
$(selectpassager).find('input').removeClass('selecting');
|
||||
}else{
|
||||
$(selectpassager).find('input').addClass('selecting');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
Loading…
Reference in New Issue