From cbbcdc52371810afebd2076bb14fbdb82bcd0776 Mon Sep 17 00:00:00 2001 From: cyc Date: Wed, 27 May 2020 15:33:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E8=BF=87=E6=9C=9F=E8=BD=A6=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trainsystem/controllers/api.php | 102 ++++++++++-------- .../trainsystem/models/BIZ_train_model.php | 2 +- 2 files changed, 56 insertions(+), 48 deletions(-) diff --git a/application/third_party/trainsystem/controllers/api.php b/application/third_party/trainsystem/controllers/api.php index 566c7006..6d75d804 100644 --- a/application/third_party/trainsystem/controllers/api.php +++ b/application/third_party/trainsystem/controllers/api.php @@ -81,60 +81,68 @@ class api extends CI_Controller{ $orderInfo->totalPrice = (int) $priceInfo->COLI_Price; $orderInfo->itinerary = array(); + $coldSnArr = $this->BIZ_train_model->getAllColdSn($itemId); $itineraryNums = count($coldSnArr); - foreach ($coldSnArr as $keyColdSn=>$itemColdSn){ - $train_info = $this->BIZ_train_model->biz_order_detail($itemColdSn->cold_sn); - - //距离发车时间小于24小时的,直接屏蔽订单。关闭支付 - $todayTime = time(); - $thisTrainDeparTime = strtotime($train_info->DepartureDate); - if($todayTime - $thisTrainDeparTime < 86400){ - continue; + if(empty($priceInfo->GAI_SQJE)){ + $orderInfo->topstatus = 'pending'; + foreach ($coldSnArr as $keyColdSn=>$itemColdSn){ + $train_info = $this->BIZ_train_model->biz_order_detail($itemColdSn->cold_sn); + + //todo 计算是否有逾期车程,扣除逾期车程,计算价格变动 + $today = time(); + + if(strtotime($itemColdSn->COLI_ApplyDate) - $today < 86400){ + $orderInfo->totalPrice = $orderInfo->totalPrice - 0; + continue; + } + + $orderInfo->itinerary[$keyColdSn] = new stdClass(); + $orderInfo->itinerary[$keyColdSn]->coldSn = $train_info->FOI_COLD_SN; + $orderInfo->itinerary[$keyColdSn]->departureCity = $train_info->DepartureCity; + $orderInfo->itinerary[$keyColdSn]->arrivalCity = $train_info->ArrivalCity; + $orderInfo->itinerary[$keyColdSn]->departureDate = date('Y-m-d',strtotime($train_info->DepartureDate)); + $orderInfo->itinerary[$keyColdSn]->departureTime = date('H:i',strtotime($train_info->DepartureTime)); + $orderInfo->itinerary[$keyColdSn]->arrivalTime = date('H:i',strtotime($train_info->ArrivalTime)); + $orderInfo->itinerary[$keyColdSn]->Cabin = $train_info->Cabin; + $orderInfo->itinerary[$keyColdSn]->FlightsNo = $train_info->FlightsNo; + $orderInfo->itinerary[$keyColdSn]->passagerInfos = $this->BIZ_train_model->biz_people($itemColdSn->cold_sn); + array_push($returnData->pending,$orderInfo); } - $orderInfo->itinerary[$keyColdSn] = new stdClass(); - $orderInfo->itinerary[$keyColdSn]->coldSn = $train_info->FOI_COLD_SN; - $orderInfo->itinerary[$keyColdSn]->departureCity = $train_info->DepartureCity; - $orderInfo->itinerary[$keyColdSn]->arrivalCity = $train_info->ArrivalCity; - $orderInfo->itinerary[$keyColdSn]->departureDate = date('Y-m-d',strtotime($train_info->DepartureDate)); - $orderInfo->itinerary[$keyColdSn]->departureTime = date('H:i',strtotime($train_info->DepartureTime)); - $orderInfo->itinerary[$keyColdSn]->arrivalTime = date('H:i',strtotime($train_info->ArrivalTime)); - $orderInfo->itinerary[$keyColdSn]->Cabin = $train_info->Cabin; - $orderInfo->itinerary[$keyColdSn]->FlightsNo = $train_info->FlightsNo; - $orderInfo->itinerary[$keyColdSn]->passagerInfos = $this->BIZ_train_model->biz_people($itemColdSn->cold_sn); - $ticketinfo = $this->train_system_model->get_tickets_info($itemColdSn->cold_sn); - - if(!empty($ticketinfo)){ - //获取子订单出票状态 - $doTicketsNum++; - $orderInfo->itinerary[$keyColdSn]->status = $ticketinfo->ts_status; - $orderInfo->itinerary[$keyColdSn]->elecnumber = $ticketinfo->ts_elecnumber; - $orderInfo->itinerary[$keyColdSn]->seatsinfo = $ticketinfo->ts_seatsinfo; + }else{ + foreach ($coldSnArr as $keyColdSn=>$itemColdSn){ + $train_info = $this->BIZ_train_model->biz_order_detail($itemColdSn->cold_sn); + + $orderInfo->itinerary[$keyColdSn] = new stdClass(); + $orderInfo->itinerary[$keyColdSn]->coldSn = $train_info->FOI_COLD_SN; + $orderInfo->itinerary[$keyColdSn]->departureCity = $train_info->DepartureCity; + $orderInfo->itinerary[$keyColdSn]->arrivalCity = $train_info->ArrivalCity; + $orderInfo->itinerary[$keyColdSn]->departureDate = date('Y-m-d',strtotime($train_info->DepartureDate)); + $orderInfo->itinerary[$keyColdSn]->departureTime = date('H:i',strtotime($train_info->DepartureTime)); + $orderInfo->itinerary[$keyColdSn]->arrivalTime = date('H:i',strtotime($train_info->ArrivalTime)); + $orderInfo->itinerary[$keyColdSn]->Cabin = $train_info->Cabin; + $orderInfo->itinerary[$keyColdSn]->FlightsNo = $train_info->FlightsNo; + $orderInfo->itinerary[$keyColdSn]->passagerInfos = $this->BIZ_train_model->biz_people($itemColdSn->cold_sn); + $ticketinfo = $this->train_system_model->get_tickets_info($itemColdSn->cold_sn); - //根据子订单状态确定总订单状态池 - /*if($ticketinfo->ts_status == 4 or $ticketinfo->ts_status == 7){ - $orderInfo->itinerary[$keyColdSn]->ordernumber = $ticketinfo->ts_ordernumber; - //获取乘客信息 - $orderInfo->itinerary[$keyColdSn]->passagersTickets = array(); - $orderInfo->itinerary[$keyColdSn]->passagersTickets = $this->train_system_model->get_passager_details($ticketinfo->ts_ordernumber); - - - }*/ + if(!empty($ticketinfo)){ + //获取子订单出票状态 + $doTicketsNum++; + $orderInfo->itinerary[$keyColdSn]->status = $ticketinfo->ts_status; + $orderInfo->itinerary[$keyColdSn]->elecnumber = $ticketinfo->ts_elecnumber; + $orderInfo->itinerary[$keyColdSn]->seatsinfo = $ticketinfo->ts_seatsinfo; + } + } + + if($doTicketsNum == $itineraryNums){ + $orderInfo->topstatus = 'confirmed'; + array_push($returnData->confirmed,$orderInfo); + }elseif($doTicketsNum < $itineraryNums){ + $orderInfo->topstatus = 'processing'; + array_push($returnData->processing,$orderInfo); } - - } - - if(empty($priceInfo->GAI_SQJE)){ - $orderInfo->topstatus = 'pending'; - array_push($returnData->pending,$orderInfo); - }elseif($doTicketsNum == $itineraryNums){ - $orderInfo->topstatus = 'confirmed'; - array_push($returnData->confirmed,$orderInfo); - }elseif($doTicketsNum < $itineraryNums){ - $orderInfo->topstatus = 'processing'; - array_push($returnData->processing,$orderInfo); } } print_r(json_encode($returnData)); diff --git a/application/third_party/trainsystem/models/BIZ_train_model.php b/application/third_party/trainsystem/models/BIZ_train_model.php index be7d4f72..416ec613 100644 --- a/application/third_party/trainsystem/models/BIZ_train_model.php +++ b/application/third_party/trainsystem/models/BIZ_train_model.php @@ -458,7 +458,7 @@ class BIZ_train_model extends CI_Model { //根据订单号获取所有子订单号 public function getAllColdSn($coliId){ - $sql = "select cold_sn from BIZ_ConfirmLineInfo left join BIZ_ConfirmLineDetail on coli_sn = cold_coli_sn where coli_id = ? and COLI_servicetype = '2'"; + $sql = "select cold_sn,COLI_ApplyDate from BIZ_ConfirmLineInfo left join BIZ_ConfirmLineDetail on coli_sn = cold_coli_sn where coli_id = ? and COLI_servicetype = '2'"; $query = $this->HT->query($sql, array($coliId)); return $query->result(); }