diff --git a/application/third_party/trainsystem/controllers/api.php b/application/third_party/trainsystem/controllers/api.php index 9cbb365c..3c389f05 100644 --- a/application/third_party/trainsystem/controllers/api.php +++ b/application/third_party/trainsystem/controllers/api.php @@ -58,27 +58,60 @@ class api extends CI_Controller{ //获取订单出票状态 public function isbooktickets(){ - $cold_sn = $this->input->get('cold_sn'); + $orderIdListStr = $this->input->get('orderIdListStr'); + if($orderIdListStr == ''){ + exit('数据为空!'); + } - $tickets_info = $this->train_system_model->get_tickets_info($cold_sn); - //print_r($tickets_info); - if(!empty($tickets_info)){ - $return_data = array(); - $i = 0; - foreach($tickets_info as $items){ - $return_data[$i] = new stdClass(); - $return_data[$i]->cold_sn = (int) $items->ts_cold_sn; - $return_data[$i]->ordernumber = $items->ts_ordernumber; - $return_data[$i]->status = $items->tst_status; - $return_data[$i]->passengersename = $items->tst_realname; - $return_data[$i]->passportseno = $items->tst_numberid; - $i++; + $orderData = explode(',',$orderIdListStr); + $returnData = array(); + $orderInfo = array(); + $doTicketsNum = 0; + //$orderData = ['2005075526','2005075562','2005055512']; + if(!empty($orderData)){ + foreach($orderData as $keyId=>$itemId){ + $orderInfo[$keyId] = new stdCLass(); + $orderInfo[$keyId]->coliId = $itemId; + $flag = $this->BIZ_train_model->get_paypal($itemId); + + $orderInfo[$keyId]->ispay = $flag; + $orderInfo[$keyId]->itinerary = array(); + $coldSnArr = $this->BIZ_train_model->getAllColdSn($itemId); + $itineraryNums = count($coldSnArr); + if($flag){ + foreach ($coldSnArr as $keyColdSn=>$itemColdSn){ + $train_info = $this->BIZ_train_model->biz_order_detail($itemColdSn->cold_sn); + $orderInfo[$keyId]->itinerary[$keyColdSn] = new stdClass(); + $orderInfo[$keyId]->itinerary[$keyColdSn]->FOI_COLD_SN = $train_info->FOI_COLD_SN; + $orderInfo[$keyId]->itinerary[$keyColdSn]->DepartureCity = $train_info->DepartureCity; + $orderInfo[$keyId]->itinerary[$keyColdSn]->ArrivalCity = $train_info->ArrivalCity; + $orderInfo[$keyId]->itinerary[$keyColdSn]->DepartureTime = date('H:i',strtotime($train_info->DepartureTime)); + $orderInfo[$keyId]->itinerary[$keyColdSn]->ArrivalTime = date('H:i',strtotime($train_info->ArrivalTime)); + $ticketinfo = $this->train_system_model->get_tickets_info($itemColdSn->cold_sn); + + //获取子订单出票状态 + $orderInfo[$keyId]->itinerary[$keyColdSn]->status = $ticketinfo->ts_status; + + //根据子订单状态确定总订单状态池 + if($ticketinfo->ts_status == 4 or $ticketinfo->ts_status == 7){ + $doTicketsNum++; + } + + } + if($doTicketsNum == $itineraryNums){ + $orderInfo[$keyId]->topstatus = 'confirmed'; + } + + if($doTicketsNum < $itineraryNums){ + $orderInfo[$keyId]->topstatus = 'processing'; + } + + }else{ + $orderInfo[$keyId]->topstatus = 'pending'; + } } - print_r(json_encode($return_data)); - }else{ - return null; + return json_encode($orderInfo); } - } //用于自动发送确认信 diff --git a/application/third_party/trainsystem/models/BIZ_train_model.php b/application/third_party/trainsystem/models/BIZ_train_model.php index ac2a1eed..87cea5be 100644 --- a/application/third_party/trainsystem/models/BIZ_train_model.php +++ b/application/third_party/trainsystem/models/BIZ_train_model.php @@ -12,11 +12,14 @@ class BIZ_train_model extends CI_Model { function biz_order_detail($cold_sn) { $sql = " SELECT TOP 1 bfoi.FOI_SN + ,bfoi.DepartureCity + ,bfoi.ArrivalCity ,bfoi.FOI_COLD_SN ,bfoi.DepartAirport ,bfoi.ArrivalAirport ,bfoi.FlightsNo ,bfoi.Aircraft + ,bfoi.Cabin ,bfoi.DepartureDate ,bfoi.FOI_SelectedSeat ,( @@ -369,7 +372,7 @@ class BIZ_train_model extends CI_Model { $sql = "select top 1 GAI_SQJE,GAI_SQJECurrency from BIZ_GroupAccountInfo where GAI_COLI_ID = ?"; $query = $query = $this->HT->query($sql, $coli_id); if ($query->num_rows() > 0) { - return $query->row(); + return true; } else { return false; } diff --git a/application/third_party/trainsystem/models/train_system_model.php b/application/third_party/trainsystem/models/train_system_model.php index cb1b2794..faed195c 100644 --- a/application/third_party/trainsystem/models/train_system_model.php +++ b/application/third_party/trainsystem/models/train_system_model.php @@ -232,11 +232,9 @@ class train_system_model extends CI_Model { //获取订单出票状态 public function get_tickets_info($cold_sn){ - $sql = "select ts_cold_sn,ts_ordernumber,tst_realname,tst_numberid,tst_status from trainsystem left join trainsystem_tickets on ts_ordernumber = tst_ordernumber where ts_cold_sn = ? and ts_status = '4'"; + $sql = "select top 1 ts_status,ts_ordernumber from trainsystem where ts_cold_sn = ? order by ts_subtime desc"; $query = $this->INFO->query($sql,array($cold_sn)); - //$sql = "select * from BIZ_JuheOrderList where JOL_COLD_SN = ? and jol_status = '4'"; - //$query = $this->HT->query($sql,array($cold_sn)); - return $query->result(); + return $query->row(); } //获取所有订单