|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
if (!defined('BASEPATH'))
|
|
|
|
|
|
exit('No direct script access allowed');
|
|
|
|
|
|
|
|
|
|
|
|
class Tulanduo extends CI_Controller
|
|
|
|
|
|
{
|
|
|
|
|
|
// public $special_route = array(
|
|
|
|
|
|
// "BJSIC-42" => "'BJSIC-41','BJSIC-42'"
|
|
|
|
|
|
// ,"BJSIC-43" => "'BJSIC-41','BJSIC-42','BJSIC-43'"
|
|
|
|
|
|
// ,"XASIC-42" => "'XASIC-41','XASIC-42'"
|
|
|
|
|
|
// );
|
|
|
|
|
|
// public $special_route_name = array(
|
|
|
|
|
|
// "BJSIC-42" => "北京精品两日游(目的地BJSIC-42)"
|
|
|
|
|
|
// ,"BJSIC-43" => "北京精品三日游(目的地BJSIC-43)"
|
|
|
|
|
|
// ,"XASIC-42" => "西安精品两日游(目的地XASIC-42)"
|
|
|
|
|
|
// );
|
|
|
|
|
|
public $city_info = array(
|
|
|
|
|
|
"北京分公司" => array(
|
|
|
|
|
|
"PlanVEI_SN" => 1343
|
|
|
|
|
|
,"COLI_sourcetype" => 32090
|
|
|
|
|
|
,"routeType" => "北京目的地线路"
|
|
|
|
|
|
),
|
|
|
|
|
|
"总部" => array(
|
|
|
|
|
|
"PlanVEI_SN" => 1343
|
|
|
|
|
|
,"COLI_sourcetype" => 32090
|
|
|
|
|
|
,"routeType" => "北京目的地线路"
|
|
|
|
|
|
),
|
|
|
|
|
|
"西安分公司" => array(
|
|
|
|
|
|
"PlanVEI_SN" => 30548
|
|
|
|
|
|
,"COLI_sourcetype" => 32116
|
|
|
|
|
|
,"routeType" => "西安目的地线路"
|
|
|
|
|
|
),
|
|
|
|
|
|
"上海分公司" => array(
|
|
|
|
|
|
"PlanVEI_SN" => 29188
|
|
|
|
|
|
,"COLI_sourcetype" => 32112
|
|
|
|
|
|
,"routeType" => "上海目的地线路"
|
|
|
|
|
|
)
|
|
|
|
|
|
);
|
|
|
|
|
|
public $vendor_ids = array(1343,30548,29188);
|
|
|
|
|
|
|
|
|
|
|
|
// userId key
|
|
|
|
|
|
// 1343 2e47c3721e3ff6e816fe6b928d7acc7d
|
|
|
|
|
|
// 29188 95c3b0d958a79a1216e651df182b3cb4
|
|
|
|
|
|
// 30548 9db75a2dc17156eb122364295804b7a2
|
|
|
|
|
|
|
|
|
|
|
|
// test
|
|
|
|
|
|
// public $list_url = "http://dj.ltsoftware.net:9901/action/api/searchRouteOrder/";
|
|
|
|
|
|
// public $detail_url = "http://dj.ltsoftware.net:9901/action/api/detailRouteOrder/";
|
|
|
|
|
|
public $neworder_url = "http://ltdj.ltsoftware.net:19919/action/api/addOrUpdateRouteOrder/";
|
|
|
|
|
|
// Live
|
|
|
|
|
|
// public $list_url = "http://djb3c.ltsoftware.net:9921/action/api/searchRouteOrder/";
|
|
|
|
|
|
// public $detail_url = "http://djb3c.ltsoftware.net:9921/action/api/detailRouteOrder/";
|
|
|
|
|
|
// public $neworder_url = "http://djb3c.ltsoftware.net:9921/action/api/addOrUpdateRouteOrder/";
|
|
|
|
|
|
|
|
|
|
|
|
public function __construct(){
|
|
|
|
|
|
parent::__construct();
|
|
|
|
|
|
mb_regex_encoding("UTF-8");
|
|
|
|
|
|
bcscale(4);
|
|
|
|
|
|
$this->load->helper('array');
|
|
|
|
|
|
$this->load->library('trippest');
|
|
|
|
|
|
$this->load->model('Group_model');
|
|
|
|
|
|
$this->load->model('BIZ_orders_model', 'BIZ_order');
|
|
|
|
|
|
// $this->load->model('TuLanDuo_queryContentBuilder', 'tld_order');
|
|
|
|
|
|
// $this->output->enable_profiler(TRUE);
|
|
|
|
|
|
/** test
|
|
|
|
|
|
902 key:f56541ff40e1afba444d831c5a666195
|
|
|
|
|
|
*/
|
|
|
|
|
|
$this->userId = "902";
|
|
|
|
|
|
$this->key = "f56541ff40e1afba444d831c5a666195";
|
|
|
|
|
|
/** Live */
|
|
|
|
|
|
// 目的地
|
|
|
|
|
|
// $this->userId = "1134";
|
|
|
|
|
|
// $this->key = "73d180d05d425fd192e1c5b3097e75ff";
|
|
|
|
|
|
// 桂林海纳国旅
|
|
|
|
|
|
// $this->userId = "18";
|
|
|
|
|
|
// $this->key = "d05c25e6e6c5d4898161e0aaf700d9c7";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function order_push($GRI_SN=null)
|
|
|
|
|
|
{
|
|
|
|
|
|
if ($GRI_SN !== null) {
|
|
|
|
|
|
return $this->push_trippest($GRI_SN);
|
|
|
|
|
|
}
|
|
|
|
|
|
$start_date = date('Y-m-d');
|
|
|
|
|
|
$end_date = date('Y-m-d 23:59:59', strtotime("+2 months"));
|
|
|
|
|
|
$vei_sn_str = implode(",", $this->vendor_ids);
|
|
|
|
|
|
$ready_to_send = $this->Group_model->get_plan_not_received(1, $vei_sn_str, $start_date, $end_date);
|
|
|
|
|
|
if (empty($ready_to_send)) {
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
$order = $ready_to_send[0];
|
|
|
|
|
|
// 目的地计划
|
|
|
|
|
|
if (strval($order->GRI_OrderType) === "227002" && strval($order->department) === "30") {
|
|
|
|
|
|
return $this->push_trippest($order->GRI_SN);
|
|
|
|
|
|
}
|
|
|
|
|
|
// 商务
|
|
|
|
|
|
if (strval($order->GRI_OrderType) === "227002") {
|
|
|
|
|
|
}
|
|
|
|
|
|
// 传统订单
|
|
|
|
|
|
if (strval($order->GRI_OrderType) === "227001") {
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return $this->output->set_content_type('application/json')->set_output(json_encode($order));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
|
* 发送目的地项目组预订计划到图兰朵地接系统
|
|
|
|
|
|
* 地接社未接受的或有变更的
|
|
|
|
|
|
* @date 2018-05-02
|
|
|
|
|
|
*/
|
|
|
|
|
|
public function push_trippest($gri_sn=0)
|
|
|
|
|
|
{
|
|
|
|
|
|
// exit();
|
|
|
|
|
|
/** 目的地 test */
|
|
|
|
|
|
$this->userId = "902";
|
|
|
|
|
|
$this->key = "f56541ff40e1afba444d831c5a666195";
|
|
|
|
|
|
$this->load->model('TuLanDuo_addOrUpdateRouteOrderContentBuilder', 'tldOrderBuilder');
|
|
|
|
|
|
$orderinfo = $this->BIZ_order->get_orderinfo_detail($gri_sn);
|
|
|
|
|
|
if(empty($orderinfo)) {return;}
|
|
|
|
|
|
$COLI_ID = $orderinfo[0]->COLI_ID;
|
|
|
|
|
|
$travelFees = $this->BIZ_order->get_paymentDetails($COLI_ID);
|
|
|
|
|
|
$fill_order = array();
|
|
|
|
|
|
$processed_date = array();
|
|
|
|
|
|
$processed_cold = array();
|
|
|
|
|
|
foreach ($orderinfo as $ko => $cold) {
|
|
|
|
|
|
if ( ! in_array($cold->COLD_SN, $processed_cold)) {
|
|
|
|
|
|
$processed_cold[] = $cold->COLD_SN;
|
|
|
|
|
|
$all_package = $this->trippest->tour_code($cold->pag_code);
|
|
|
|
|
|
$pag_info = $this->BIZ_order->get_packageDetails(my_implode("'",",",$all_package));
|
|
|
|
|
|
$fill_order[$cold->pag_code]["cold"][] = $cold;
|
|
|
|
|
|
$fill_order[$cold->pag_code]["package_info"] = $pag_info;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// $fill_order = array_values($fill_order);
|
|
|
|
|
|
$i=0;
|
|
|
|
|
|
$take_apart = count($fill_order)>1 ? true : false;
|
|
|
|
|
|
foreach ($fill_order as $kf => $vf) {
|
|
|
|
|
|
$i++;
|
|
|
|
|
|
$this->tldOrderBuilder->resetBizContent();
|
|
|
|
|
|
$order_type = intval($vf["package_info"][0]->PAG_ExtendType)===39009 ? 1 : 2;
|
|
|
|
|
|
$last_code = count($vf["package_info"])-1;
|
|
|
|
|
|
$last_date = count($vf["cold"])-1;
|
|
|
|
|
|
$routeName = $vf["package_info"][0]->PAG2_Name . mb_strtoupper($vf["cold"][0]->pag_code);
|
|
|
|
|
|
$end_date = strstr($vf["cold"][$last_date]->COLD_StartDate, " ", true);
|
|
|
|
|
|
if (isset($this->trippest->special_route[$vf["cold"][0]->pag_code])) {
|
|
|
|
|
|
$routeName = $this->trippest->special_route[$vf["cold"][0]->pag_code]["name"];
|
|
|
|
|
|
$extra_day = $this->trippest->special_route[$vf["cold"][0]->pag_code]["day"]-1;
|
|
|
|
|
|
$end_date = date("Y-m-d", strtotime("+$extra_day day", strtotime($vf["cold"][0]->COLD_StartDate)));
|
|
|
|
|
|
}
|
|
|
|
|
|
$agcOrderNo = $vf["cold"][0]->COLI_GroupCode . "-" . $vf["package_info"][0]->city_code;
|
|
|
|
|
|
if ($take_apart===true) {
|
|
|
|
|
|
$agcOrderNo .= "-" . $i;
|
|
|
|
|
|
}
|
|
|
|
|
|
$agcOrderNo .= "(" . $vf["cold"][0]->operator . ")";
|
|
|
|
|
|
$order_remark = "";
|
|
|
|
|
|
if (trim($vf['cold'][0]->GUT_TEL) != "") {
|
|
|
|
|
|
$order_remark = "预定人电话:" . trim($vf["cold"][0]->GUT_TEL);
|
|
|
|
|
|
}
|
|
|
|
|
|
$COLD_SN_str = implode(',', array_map( function($element){return $element->COLD_SN;}, $vf["cold"] )) ;
|
|
|
|
|
|
$guestlist = $this->BIZ_order->get_guestlist($COLD_SN_str);
|
|
|
|
|
|
$this->tldOrderBuilder->setUserId($this->userId)
|
|
|
|
|
|
->setKey($this->key)
|
|
|
|
|
|
->setOrderType($order_type)
|
|
|
|
|
|
->setRouteName($routeName)
|
|
|
|
|
|
->setRouteType($vf["package_info"][0]->city_chinese . "目的地线路")
|
|
|
|
|
|
->setAgcOrderNo($agcOrderNo)
|
|
|
|
|
|
->setAdultNum($vf["cold"][0]->COLD_PersonNum)
|
|
|
|
|
|
->setChildNum($vf["cold"][0]->COLD_ChildNum)
|
|
|
|
|
|
->setDestination($vf["package_info"][0]->city_chinese)
|
|
|
|
|
|
->setTravelDate(strstr($vf["cold"][0]->COLD_StartDate, " ", true))
|
|
|
|
|
|
->setLeavedDate($end_date)
|
|
|
|
|
|
->setOrderRemark($order_remark)
|
|
|
|
|
|
// ->setOrderRemark(trim($orderinfo[0]->COLI_Memo . "\r\n" . $orderinfo[0]->COLD_Memo . "\r\n" . $orderinfo[0]->COLD_MemoText))
|
|
|
|
|
|
// todo 抵离交通
|
|
|
|
|
|
// ->setToTraffic($toTraffic)
|
|
|
|
|
|
// ->setBackTraffic($backTraffic)
|
|
|
|
|
|
;
|
|
|
|
|
|
foreach ($guestlist as $key => $vg) {
|
|
|
|
|
|
$this->tldOrderBuilder->setCustomersName($key, $vg->BPE_FirstName . " " . $vg->BPE_LastName )
|
|
|
|
|
|
->setCustomersPeopleType($key, ($vg->BPE_GuestType==1 ? "成人" : "儿童"))
|
|
|
|
|
|
->setCustomersDocumentType($key, "护照") // Passport No.
|
|
|
|
|
|
->setCustomersDocumentNo($key, $vg->BPE_Passport)
|
|
|
|
|
|
->setCustomersOtherInfo($key, $this->BIZ_order->GetNationalityName($orderinfo[0]->GUT_NationalityID));
|
|
|
|
|
|
}
|
|
|
|
|
|
$scheduleDetails = $this->BIZ_order->get_scheduleDetails($COLD_SN_str);
|
|
|
|
|
|
$schedule_obj = array();
|
|
|
|
|
|
foreach ($scheduleDetails as $ks => $vs) {
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['date'] = substr($vs->COLD_StartDate, 0, 10);
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['lunch'] = (in_array($vs->PAG_Meal, array('61002', '61004')) ? 1 : 0);
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['dinner'] = (in_array($vs->PAG_Meal, array('61003', '61004')) ? 1 : 0);
|
|
|
|
|
|
$this_content = $this_title = "";
|
|
|
|
|
|
if ( ! isset($schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['content'])) {
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['content'] = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
// 人数
|
|
|
|
|
|
$this_content .= "\r\n人数:" . $vs->COLD_PersonNum . "大";
|
|
|
|
|
|
($vs->COLD_ChildNum>0) ? $this_content .= $vs->COLD_ChildNum . "小" : null;
|
|
|
|
|
|
($vs->COLD_BabyNum>0) ? $this_content .= $vs->COLD_BabyNum . "婴" : null;
|
|
|
|
|
|
$this_content .= "\r\n客人:";
|
|
|
|
|
|
$this_guest = "";
|
|
|
|
|
|
foreach ($guestlist as $dkg => $dvg) {
|
|
|
|
|
|
if ($dvg->BPL_COLD_SN == $vs->COLD_SN) {
|
|
|
|
|
|
$this_guest .= "," . $dvg->BPE_FirstName . " " . $dvg->BPE_LastName;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
$this_content .= substr($this_guest, 1);
|
|
|
|
|
|
// 酒店
|
|
|
|
|
|
$hotels = $this->BIZ_order->get_package_order($vs->COLD_SN);
|
|
|
|
|
|
if (trim($hotels[0]->POI_HotelAddress) != "") {
|
|
|
|
|
|
$this_content .= "\r\n酒店地址:" . $hotels[0]->POI_HotelAddress;
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($hotels[0]->POI_FlightsNo) {
|
|
|
|
|
|
$this_content .= "\r\n航/车次:" . $hotels[0]->POI_FlightsNo;
|
|
|
|
|
|
if ($hotels[0]->POI_FromCity || $hotels[0]->POI_ToCity) {
|
|
|
|
|
|
$this_content .= ", (" . $hotels[0]->POI_FromCity . "-" . $hotels[0]->POI_ToCity . ")";
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($hotels[0]->POI_Time || $hotels[0]->POI_EndTime) {
|
|
|
|
|
|
$this_content .= ", " . $hotels[0]->POI_Time . " " . $hotels[0]->POI_EndTime;
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($hotels[0]->POI_AirPort) {
|
|
|
|
|
|
$this_content .= ", " . $hotels[0]->POI_AirPort;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
$this_content .= "\r\n";
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['accommodation'] = $hotels[0]->POI_Hotel;
|
|
|
|
|
|
// 补充行程
|
|
|
|
|
|
$fill_date = array();
|
|
|
|
|
|
if (isset($this->trippest->special_route[$vs->PAG_Code])) {
|
|
|
|
|
|
for ($j=0; $j < $this->trippest->special_route[$vs->PAG_Code]['day']; $j++) {
|
|
|
|
|
|
$e_day = date("Y-m-d", strtotime("+$j day", strtotime($vs->COLD_StartDate)));
|
|
|
|
|
|
if ( ! isset($schedule_obj[$e_day]['content'])) {
|
|
|
|
|
|
$schedule_obj[$e_day]['content'] = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
$schedule_obj[$e_day]['date'] = $e_day;
|
|
|
|
|
|
$fill_date[] = $e_day;
|
|
|
|
|
|
$schedule_obj[$e_day]['code'] = $this->trippest->special_route[$vs->PAG_Code]['code'][$j];
|
|
|
|
|
|
$pag_detail = $this->BIZ_order->get_packageDetails("'" . $schedule_obj[$e_day]['code'] . "'");
|
|
|
|
|
|
$schedule_obj[$e_day]['title'] = $pag_detail[0]->PAG2_Name;
|
|
|
|
|
|
$schedule_obj[$e_day]['lunch'] = (in_array($pag_detail[0]->PAG_Meal, array('61002', '61004')) ? 1 : 0);
|
|
|
|
|
|
$schedule_obj[$e_day]['dinner'] = (in_array($pag_detail[0]->PAG_Meal, array('61003', '61004')) ? 1 : 0);
|
|
|
|
|
|
$schedule_obj[$e_day]['content'] .= $schedule_obj[$e_day]['title'] . $this_content;
|
|
|
|
|
|
$schedule_obj[$e_day]['accommodation'] = $hotels[0]->POI_Hotel;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 行程
|
|
|
|
|
|
if ($vs->PAGS_CN_Title) {
|
|
|
|
|
|
$this_title .= "[" . $vs->PAGS_CN_Title . "]";
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($this_title == "") {
|
|
|
|
|
|
$this_title .= $vs->PAG2_Name;
|
|
|
|
|
|
}
|
|
|
|
|
|
// 补充的行程避免重复
|
|
|
|
|
|
if ( ! in_array(substr($vs->COLD_StartDate, 0, 10), $fill_date)) {
|
|
|
|
|
|
$schedule_obj[substr($vs->COLD_StartDate, 0, 10)]['content'] .= $this_title . $this_content;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 补全空的日期
|
|
|
|
|
|
$first_date = strstr($vf["cold"][0]->COLD_StartDate, " ", true);
|
|
|
|
|
|
$date1 = new DateTime($first_date);
|
|
|
|
|
|
$date_end = new DateTime($end_date);
|
|
|
|
|
|
$date_diff = $date_end->diff($date1);
|
|
|
|
|
|
$d = ($date_diff->format("%d"));
|
|
|
|
|
|
$all_date = array();
|
|
|
|
|
|
for ($j=0; $j < ($d+1); $j++) {
|
|
|
|
|
|
$all_date[] = date('Y-m-d', strtotime("+$j day", strtotime($first_date)));
|
|
|
|
|
|
}
|
|
|
|
|
|
$real_date = array_column(array_values($schedule_obj), 'date');
|
|
|
|
|
|
foreach ($all_date as $kd => $vd) {
|
|
|
|
|
|
if ( ! in_array($vd, $real_date)) {
|
|
|
|
|
|
$this->tldOrderBuilder->setScheduleDetailsTitle($kd, $vd)
|
|
|
|
|
|
->setScheduleDetailsContent($kd, "无")
|
|
|
|
|
|
->setScheduleDetailsAccommodation($kd, "")
|
|
|
|
|
|
// ->setScheduleDetailsTraffic($kd, ($vso->PAG_Vehicle>60001 ? 1 : 0))
|
|
|
|
|
|
->setScheduleDetailsBreakFirst($kd, 0 )
|
|
|
|
|
|
->setScheduleDetailsDinner($kd, 0)
|
|
|
|
|
|
->setScheduleDetailsLunch($kd, 0)
|
|
|
|
|
|
;
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
|
|
|
|
|
foreach (array_values($schedule_obj) as $kso => $vso) {
|
|
|
|
|
|
if ($vd==$vso['date']) {
|
|
|
|
|
|
$this->tldOrderBuilder->setScheduleDetailsTitle($kd, $vso['date'])
|
|
|
|
|
|
->setScheduleDetailsContent($kd, $vso['content'])
|
|
|
|
|
|
->setScheduleDetailsAccommodation($kd, $vso['accommodation'])
|
|
|
|
|
|
// ->setScheduleDetailsTraffic($kd, ($vso->PAG_Vehicle>60001 ? 1 : 0))
|
|
|
|
|
|
->setScheduleDetailsBreakFirst($kd, 0 )
|
|
|
|
|
|
->setScheduleDetailsDinner($kd, $vso['dinner'] )
|
|
|
|
|
|
->setScheduleDetailsLunch($kd, $vso['lunch'])
|
|
|
|
|
|
;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
// 拆分的订单团款录第一个
|
|
|
|
|
|
if ($i===1) {
|
|
|
|
|
|
foreach ($travelFees as $kf => $vf) {
|
|
|
|
|
|
$this->tldOrderBuilder->setTravelFeesType($kf, "Per Group")
|
|
|
|
|
|
->setTravelFeesMoney($kf, $vf->GAI_SQJE)
|
|
|
|
|
|
->setTravelFeesNum($kf, 1)
|
|
|
|
|
|
->setTravelFeesUnit($kf, bcdiv($vf->GAI_SSJE, $vf->GAI_SQJE))
|
|
|
|
|
|
->setTravelFeesSumMoney($kf, $vf->GAI_SSJE)
|
|
|
|
|
|
->setTravelFeesRemark($kf, $vf->GAI_Memo);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
echo(($this->tldOrderBuilder->getBizContent()));
|
|
|
|
|
|
// $this->output->set_content_type('application/json')->set_output($this->tldOrderBuilder->getBizContent());
|
|
|
|
|
|
// $resp = $this->excute_curl($this->neworder_url, $this->tldOrderBuilder);
|
|
|
|
|
|
// var_dump($resp);
|
|
|
|
|
|
|
|
|
|
|
|
/** BIZ_GroupCombineInfo */
|
|
|
|
|
|
// if (json_decode($resp)->status == 1) {
|
|
|
|
|
|
// log_message('error','in GCI ' . json_decode($resp)->responseData->orderId);
|
|
|
|
|
|
// $this->BIZ_order->GCI_COLI_SN = $orderinfo[0]->COLI_SN;
|
|
|
|
|
|
// $this->BIZ_order->GCI_GRI_SN = $orderinfo[0]->COLI_GRI_SN;
|
|
|
|
|
|
// $this->BIZ_order->GCI_VendorOrderId = json_decode($resp)->responseData->orderId;
|
|
|
|
|
|
// $this->BIZ_order->GCI_FromAgc = "D目的地桂林组";
|
|
|
|
|
|
// $this->BIZ_order->biz_groupcombineinfo_save();
|
|
|
|
|
|
// }
|
|
|
|
|
|
}
|
|
|
|
|
|
// email 供应商 todo
|
|
|
|
|
|
echo "Order Push done.";
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
|
|
* 订单状态变更,调度变更
|
|
|
|
|
|
* (地接社调用, 并邮件通知外联)
|
|
|
|
|
|
*/
|
|
|
|
|
|
public function order_change()
|
|
|
|
|
|
{
|
|
|
|
|
|
$this->load->model('Order_update');
|
|
|
|
|
|
$ret['status'] = -1;
|
|
|
|
|
|
$ret['errMsg'] = "未知错误";
|
|
|
|
|
|
$input = $this->input->post();
|
|
|
|
|
|
$vendorID = $input['userId'];
|
|
|
|
|
|
$validate = $this->calc_key($vendorID, $input['key']);
|
|
|
|
|
|
if ($validate !== TRUE) {
|
|
|
|
|
|
$ret['errMsg'] = "身份验证失败.";
|
|
|
|
|
|
return $this->output->set_content_type('application/json')->set_output(json_encode($ret));
|
|
|
|
|
|
}
|
|
|
|
|
|
// $vendorID = 29188;//29188 1343; // test
|
|
|
|
|
|
$vas_info = array();
|
|
|
|
|
|
if (in_array($input['agcName'], array("D目的地桂林组", "Trippest"))) {
|
|
|
|
|
|
$vas_info = $this->BIZ_order->get_vendorarrangestate_byVendor($input['orderId'], $vendorID);
|
|
|
|
|
|
if (empty($vas_info) && ! empty($input['agcOrderNo'])) {
|
|
|
|
|
|
$real_groupCode = analysis_groupCode($input['agcOrderNo']);
|
|
|
|
|
|
$vas_info = $this->BIZ_order->get_vendorarrangestate_byGroup($real_groupCode, $vendorID);
|
|
|
|
|
|
}
|
|
|
|
|
|
} elseif ($input['agcName'] == '桂林海纳国旅') {
|
|
|
|
|
|
$real_groupCode = analysis_groupCode($input['agcOrderNo']);
|
|
|
|
|
|
$vas_info = $this->BIZ_order->get_vendorarrangestate_byGroup_T($real_groupCode, $vendorID);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (empty($vas_info)) {
|
|
|
|
|
|
$ret['errMsg'] = "未找到订单.";
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$vendor_manager = $this->BIZ_order->get_vendorContact($vendorID);
|
|
|
|
|
|
/** VendorArrangeState */
|
|
|
|
|
|
$VAS_ConfirmInfo = $input['orderRemark'] . "\r\n======确认人: " . $input['orderDuty'] . ", 确认时间: " . $input['orderTime'];
|
|
|
|
|
|
$VAS_ConfirmInfo .= "\r\n" . $vas_info[0]->VAS_ConfirmInfo;
|
|
|
|
|
|
$update_vas = $this->Order_update->vendorStatus_update($vas_info[0]->VAS_SN, $vendor_manager->LMI_SN, $VAS_ConfirmInfo);
|
|
|
|
|
|
if (in_array($input['agcName'], array("D目的地桂林组", "Trippest"))) { // 传统团的不需要更新订单主表
|
|
|
|
|
|
/** BIZ_confirmlineinfo */
|
|
|
|
|
|
$this->Order_update->coli_where_update = " COLI_SN=" . $vas_info[0]->COLI_SN;
|
|
|
|
|
|
$coli_update_column = array(
|
|
|
|
|
|
"COLI_State" => 7
|
|
|
|
|
|
);
|
|
|
|
|
|
$update_coli = $this->Order_update->biz_confirmlineinfo_update($coli_update_column);
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($update_vas === TRUE) {
|
|
|
|
|
|
$ret['status'] = 1;
|
|
|
|
|
|
$ret['errMsg'] = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($ret['status'] !== 1) {
|
|
|
|
|
|
log_message('error','图兰朵确认上报失败. POST RAW: ' . raw_json_encode($input) . "; Result: " . raw_json_encode($ret));
|
|
|
|
|
|
}
|
|
|
|
|
|
$sender_name = "中华游供应商合作平台";
|
|
|
|
|
|
$sender_mail = "info@chinahighlights.net";
|
|
|
|
|
|
$from_name = $vendor_manager->LMI2_Name;
|
|
|
|
|
|
$from_mail = $vendor_manager->LMI_ListMail;
|
|
|
|
|
|
$to_name = $vas_info[0]->OPI_Name;
|
|
|
|
|
|
$to_mail = $vas_info[0]->OPI_Email;
|
|
|
|
|
|
$subject = $input['agcOrderNo'] . "团已确认: " . $vendor_manager->VEI2_CompanyBN;
|
|
|
|
|
|
$mail_body = $vendor_manager->VEI2_CompanyBN . "对团" . $input['agcOrderNo'] . "的计划在" . $input['orderTime'] . "已确认。\r\n";
|
|
|
|
|
|
$mail_body .= "确认说明:" . $input['orderRemark'] . "\r\n";
|
|
|
|
|
|
$mail_body .= "确认人:$vendor_manager->LMI2_Name $vendor_manager->LMI_ListMail 固定电话: $vendor_manager->LMI_Telephone 移动电话:$vendor_manager->LMI_Mobile\r\n";
|
|
|
|
|
|
$mail_body .= "变更内容: " . $vas_info[0]->VAS_ChangeText . "\r\n";
|
|
|
|
|
|
$this->BIZ_order->save_automail($sender_name, $sender_mail, $from_name, $from_mail, $to_name, $to_mail, $subject, $mail_body, $sender_name);
|
|
|
|
|
|
|
|
|
|
|
|
return $this->output->set_content_type('application/json')->set_output(json_encode($ret));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected function excute_curl($url, $content_builder) {
|
|
|
|
|
|
$ch = curl_init();
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_FAILONERROR, false);
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
|
|
|
|
|
"Accept: application/json"
|
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
|
|
$params_str = $content_builder->getBizContent();
|
|
|
|
|
|
$postBody = array('jsonParams' => $params_str, "notHander" => 1);
|
|
|
|
|
|
|
|
|
|
|
|
if (is_string($params_str) && 0 < mb_strlen($params_str)) {
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
|
|
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $postBody);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$reponse = curl_exec($ch);
|
|
|
|
|
|
$eval_resp = json_decode($reponse);
|
|
|
|
|
|
|
|
|
|
|
|
if (curl_errno($ch) || $eval_resp->status == 0) {
|
|
|
|
|
|
log_message('error', "curl error code: ".curl_error($ch) . $eval_resp->errMsg . "; curl postBodyString: ".json_encode($postBody));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
|
|
|
if (200 !== $httpStatusCode) {
|
|
|
|
|
|
log_message('error', "Request html Status Code: ".$httpStatusCode."; curl postBodyString: ".json_encode($postBody));
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
curl_close($ch);
|
|
|
|
|
|
return $reponse;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function pag_no_tmp($routeName='')
|
|
|
|
|
|
{
|
|
|
|
|
|
return array(
|
|
|
|
|
|
"故宫深度一日游(目的地)" => "BJSIC-44"
|
|
|
|
|
|
,"故宫深度游拼团(目的地)" => "BJSIC-44"
|
|
|
|
|
|
,"北京精品一日游(目的地)" => "BJSIC-41"
|
|
|
|
|
|
,"北京精品一日游(PVT)(目的地)" => "BJSIC-41"
|
|
|
|
|
|
,"北京精品两日游(目的地)" => "BJSIC-42"
|
|
|
|
|
|
,"北京精品两日游(PVT)(目的地)" => "BJSIC-42"
|
|
|
|
|
|
,"北京精品三日游(目的地)" => "BJSIC-43"
|
|
|
|
|
|
,"北京精品游D2(目的地)" => "BJSIC-42"
|
|
|
|
|
|
,"北京精品游D3(目的地)" => "BJSIC-43"
|
|
|
|
|
|
,"北京单租车服务(目的地)" => "BJALC-209"
|
|
|
|
|
|
,"北京单租车接送(常规)" => "BJALC-209"
|
|
|
|
|
|
,"北京单租车接送服务(目的地)" => "BJALC-209"
|
|
|
|
|
|
,"北京市内-天津新港大车接送(目的地)" => "BJSIC-16"
|
|
|
|
|
|
,"天津新港-北京市内大车接送(目的地)" => "BJSIC-16"
|
|
|
|
|
|
,"箭扣-慕田峪徒步一日游(目的地)" => "BJSIC-45"
|
|
|
|
|
|
,"箭扣-慕田峪徒步一日游(PVT)(目的地)" => "BJSIC-45"
|
|
|
|
|
|
,"箭扣-慕田峪长城徒步拼团(目的地)" => "BJSIC-45"
|
|
|
|
|
|
,"司马台西-金山岭徒步一日游(目的地)" => "BJSIC-46"
|
|
|
|
|
|
,"司马台西-金山岭徒步一日游(PVT)(目的地)" => "BJSIC-46"
|
|
|
|
|
|
,"司马台西-金山岭长城徒步拼团(目的地)" => "BJSIC-46"
|
|
|
|
|
|
,"慕田峪半日游拼团(目的地)" => "BJSIC-47"
|
|
|
|
|
|
,"慕田峪半日游PVT(目的地)" => "BJSIC-47"
|
|
|
|
|
|
,"古北口长城徒步一日游(目的地)" => "BJSIC-48"
|
|
|
|
|
|
,"古北口(目的地)" => "BJSIC-48"
|
|
|
|
|
|
,"半日游广场故宫拼团(目的地)" => "BJSIC-41"
|
|
|
|
|
|
// ,=>
|
|
|
|
|
|
,"西安精品一日游(目的地)" => "XASIC-41"
|
|
|
|
|
|
,"西安精品一日游PVT(目的地)" => "XASIC-41"
|
|
|
|
|
|
,"西安市内精品一日游(目的地)" => "XASIC-41"
|
|
|
|
|
|
,"西安精品两日游(目的地)" => "XASIC-42"
|
|
|
|
|
|
,"西安单租车服务(目的地)" => "XASIC-17"
|
|
|
|
|
|
,"西安单租车接送服务(目的地)" => "XASIC-17"
|
|
|
|
|
|
,"西安单租车接送服务" => "XASIC-17"
|
|
|
|
|
|
,"西安兵马俑精品一日游(目的地)" => "XASIC-41"
|
|
|
|
|
|
,"西安兵马俑精华一日游(目的地)" => "XASIC-41"
|
|
|
|
|
|
,"西安兵马俑精品半日游(目的地)" => "XASIC-15"
|
|
|
|
|
|
,"西安兵马俑精品半日游PVT(目的地)" => "XASIC-15"
|
|
|
|
|
|
,"西安汉阳陵市内精品一日游(目的地)" => "XASIC-42"
|
|
|
|
|
|
// ,=>
|
|
|
|
|
|
,"上海精品一日游(目的地)" => "SHSIC-41"
|
|
|
|
|
|
,"上海精品游PVT线路(目的地)" => "SHSIC-41"
|
|
|
|
|
|
,"上海市内精品一日游(目的地)" => "SHSIC-42"
|
|
|
|
|
|
,"周庄锦溪精品一日游(目的地)" => "SHSIC-43"
|
|
|
|
|
|
,"苏州精品一日游(目的地)" => "SHSIC-44"
|
|
|
|
|
|
,"上海单租车(目的地)" => "SHSIC-45" //"SHALC-6,7,8,9"
|
|
|
|
|
|
,"上海单租车接送服务(目的地)" => "SHSIC-45" //"SHALC-6,7,8,9"
|
|
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function calc_key($userId, $key)
|
|
|
|
|
|
{
|
|
|
|
|
|
$default = "b825e39422a54875a95752fc7ed6f5d2";
|
|
|
|
|
|
$ret = md5(hash("sha256", $userId.$default));
|
|
|
|
|
|
return $ret===$key;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|