HT = $this->load->database('HT', TRUE); //读取默认配置 $this->COLI_WebCode = $this->config->item('Site_Code'); $this->COLI_Area = $this->config->item('Site_Area'); $this->COLI_CustomerType = $this->config->item('Site_DepartmentID'); $this->COLI_department = $this->config->item('Site_Department'); $this->COLI_Currency = $this->config->item('Site_Currency'); $this->COLI_InterestRate = $this->config->item('Site_InterestRate'); $this->COLI_TrueCardRate = $this->config->item('Site_TrueCardRate'); $this->COLI_TouristLGC = $this->config->item('Site_ServiceLGC'); $this->COLI_OrderStartDate = null; $this->COLI_Keywords = NULL; switch ($this->check_device()) { case 'mobile': $this->COLI_OrderSource = '62003'; break; case 'tablet': $this->COLI_OrderSource = '62002'; break; default: $this->COLI_OrderSource = '62001'; } } /* * *********** 传统订单end ********** */ function TourOrderSave() { //入库 $sql = "INSERT INTO ConfirmLineInfoTmp \n" . " ( \n" . " COLI_Keywords, COLI_ID, COLI_WebCode, COLI_Servicetype, COLI_sourcetype, COLI_SenderIP, \n" . " COLI_Area, COLI_Currency, COLI_CustomerType, COLI_department, \n" . " COLI_OrderDetailText, COLI_Name, COLI_Sended, COLI_PersonNum, COLI_ChildNum, \n" . " COLI_BabyNum, COLI_OrderStartDate, COLI_OrderEndDate, COLI_InterestRate, \n" . " COLI_TrueCardRate, COLI_CustomerClass, COLI_OrderType, COLI_PayManner,COLI_TouristLGC, \n" . " COLI_GroupType,COLI_Days,COLI_ProductSN, \n" . " COLI_ApplyDate,COLI_OPI_ID,COLI_Memo,COLI_OrderPrice,COLI_OrderSource \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, N?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?,?,?,GETDATE(),?,?,?,? \n" . " )"; $query = $this->HT->query($sql, array($this->COLI_Keywords, $this->COLI_ID, $this->COLI_WebCode, $this->COLI_Servicetype, $this->COLI_sourcetype, $this->COLI_SenderIP, $this->COLI_Area, $this->COLI_Currency, $this->COLI_CustomerType, $this->COLI_department, $this->COLI_OrderDetailText, $this->COLI_Name, $this->COLI_Sended, $this->COLI_PersonNum, $this->COLI_ChildNum, $this->COLI_BabyNum, $this->COLI_OrderStartDate, $this->COLI_OrderEndDate, $this->COLI_InterestRate, $this->COLI_TrueCardRate, $this->COLI_CustomerClass, $this->COLI_OrderType, $this->COLI_PayManner, $this->COLI_TouristLGC, $this->COLI_GroupType, $this->COLI_Days, $this->COLI_ProductSN, $this->COLI_OPI_SN, $this->COLI_Memo, $this->COLI_OrderPrice, $this->COLI_OrderSource)); $this->COLI_SN = $this->HT->insert_id(); //lmr:备用邮箱容错 if ($this->MEI_Mail == '0') { $this->MEI_Mail = ''; } $sql = "INSERT INTO MEmberInfoTmp \n" . " ( \n" . " MEI_FirstName, MEI_LastName, MEI_MailList, MEI_Nationality, MEI_Phone, \n" . " MEI_Gender, MEI_ServiceLang, MEI_Country, MEI_Birthday,MEI_Mail, CreateDate \n" . " ) \n" . "VALUES \n" . " ( \n" . " N?, N?, ?, ?, ?, ?, ?, ?, ?,?, GETDATE() \n" . " )"; $query = $this->HT->query($sql, array($this->MEI_FirstName, $this->MEI_LastName, $this->MEI_MailList, $this->MEI_Nationality, $this->MEI_Phone, $this->MEI_Gender, $this->MEI_ServiceLang, $this->MEI_Nationality, $this->MEI_Birthday, $this->MEI_Mail)); $this->MEI_SN = $this->HT->insert_id(); //print_r($this->HT->queries); $sql = "INSERT INTO CUstomerListTmp \n" . " ( \n" . " CUL_COLI_SN, CUL_CUI_SN, CreateDate \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?, ?, GETDATE() \n" . " )"; $query = $this->HT->query($sql, array($this->COLI_SN, $this->MEI_SN)); //增加存储客人表CustomerLineInfo return $query; } /* * *********** 商务订单 ********** */ var $GUT_SN; var $GUT_FirstName; //联系人 var $GUT_LastName = ""; //联系人 var $GUT_Title; //称谓 var $GUT_Email; //主email var $GUT_Email2; //备用email var $GUT_NationalityID; //国家 var $GUT_Passport; //护照 var $GUT_TEL; //座机 var $GUT_MoveTel; //手机 /** * 商务联系人表入库 * * @return int GUT_SN 插入id */ function biz_guest_save() { //生成一个号码,用于MAX函数来查询插入ID时避免获得其它线程插入的值 $AddCode = $this->MakeOrderNumber(); $sql = "INSERT INTO BIZ_Guest \n" . " ( \n" . " GUT_FirstName, \n" . " GUT_LastName, \n" . " GUT_Title, \n" . " GUT_Email, \n" . " GUT_Email2, \n" . " GUT_NationalityID, \n" . " GUT_Passport, \n" . " GUT_TEL, \n" . " GUT_MoveTel, \n" . " GUT_AddCode, \n" . " GUT_CreateDate \n" . " ) \n" . "VALUES \n" . " ( \n" . " N?, \n" . " N?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " GETDATE() \n" . " )"; $query = $this->HT->query($sql, array($this->GUT_FirstName, $this->GUT_LastName, $this->GUT_Title, $this->GUT_Email, $this->GUT_Email2, $this->GUT_NationalityID, $this->GUT_Passport, $this->GUT_TEL, $this->GUT_MoveTel, $AddCode)); $this->GUT_SN = $this->HT->query('select MAX(GUT_SN) as insert_id FROM BIZ_Guest WHERE GUT_AddCode=' . $AddCode)->row('insert_id'); return $this->GUT_SN; } var $BIZ_COLI_ID; var $BIZ_COLI_GUT_SN; //联系人id var $BIZ_COLI_Area; //市场 var $BIZ_COLI_ApplyDate; //提交日期 var $BIZ_COLI_Price; //订单总价 var $BIZ_COLI_Cost; //总成本 var $BIZ_COLI_Currency; //币种 var $BIZ_COLI_TrueCardRate; //信用卡手续费 var $BIZ_COLI_SenderIP; //客人ip var $BIZ_COLI_WebCode = ''; //站点code var $BIZ_COLI_servicetype; //订单来源类型 var $BIZ_COLI_sourcetype; //预定类型 var $BIZ_COLI_AgencyID; var $BIZ_COLI_ConfirmType; //提交方式 var $BIZ_COLI_OrderDetailText; /** * 商务订单主表入库 * * @return int BIZ_COLI_ID 插入id */ function biz_confirm_save() { if (empty($this->BIZ_COLI_WebCode)) { $this->BIZ_COLI_WebCode = $this->config->item('Site_Code'); } //生成一个号码,用于MAX函数来查询插入ID时避免获得其它线程插入的值 $AddCode = $this->MakeOrderNumber(); $sql = "INSERT INTO BIZ_ConfirmLineInfo \n" . "( \n" . " COLI_ID, \n" . " COLI_GUT_SN, \n" . " COLI_Area, \n" . " COLI_ApplyDate, \n" . " COLI_Price, \n" . " COLI_Cost, \n" . " COLI_Currency, \n" . " COLI_TrueCardRate, \n" . " COLI_AgencyID, \n" . " COLI_OrderDetailText, \n" . " COLI_SenderIP, \n" . " COLI_WebCode, \n" . " COLI_servicetype, \n" . " COLI_sourcetype, \n" . " COLI_ConfirmType, \n" . " COLI_State, \n" . " COLI_Department, \n" . " COLI_AddCode, \n" . " COLI_OrderSource \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " getdate(), \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " N?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $query = $this->HT->query($sql, array($this->BIZ_COLI_ID, $this->BIZ_COLI_GUT_SN, $this->config->item('Site_Area'), //date("Y-m-d H:i:s"), $this->BIZ_COLI_Price, $this->BIZ_COLI_Cost, $this->config->item('Site_Currency'), $this->BIZ_COLI_TrueCardRate, $this->BIZ_COLI_AgencyID, $this->BIZ_COLI_OrderDetailText, $this->BIZ_COLI_SenderIP, $this->BIZ_COLI_WebCode, $this->BIZ_COLI_servicetype, $this->BIZ_COLI_sourcetype, $this->BIZ_COLI_ConfirmType, 999, $this->config->item('Site_Department'), $AddCode, $this->COLI_OrderSource)); $this->BIZ_COLI_ID = $this->HT->query('select MAX(COLI_SN) as insert_id FROM BIZ_ConfirmLineInfo WHERE COLI_AddCode=' . $AddCode)->row('insert_id'); return $this->BIZ_COLI_ID; } var $COLD_SN; var $COLD_COLI_SN; //订单主表sn var $COLD_ServiceType; //服务类型 var $COLD_StartDate; //产品的服务的开始日期 var $COLD_EndDate; //产品的服务的结束日期 var $COLD_TotalCost; //总成本 var $COLD_TotalPrice; //总报价 var $COLD_Count; //产品数量 var $COLD_PersonNum; //成人数 var $COLD_ChildNum; //小孩数 var $COLD_BabyNum; //婴儿数 var $cold_state; //状态 var $DeleteFlag; //删除标志 var $COLD_DeliveryCharge = 0; //快递费用 var $COLD_PlanVEI_SN = NULL; //默认供应商 628-火车桂林国旅 var $COLD_SPFS = NULL; //快递方式:1自取 2酒店 3指定地址 var $COLD_ServiceSN = NULL; //产品ID 除机票外 其它自基础产品库各产品ID /** * 商务订单子(详细)表入库 * * @return int 插入id */ function biz_confirm_detail_save() { //生成一个号码,用于MAX函数来查询插入ID时避免获得其它线程插入的值 $AddCode = $this->MakeOrderNumber(); $sql = "INSERT INTO BIZ_ConfirmLineDetail \n" . "( \n" . " COLD_COLI_SN, \n" . " COLD_ServiceType, \n" . " COLD_StartDate, \n" . " COLD_EndDate, \n" . " COLD_TotalCost, \n" . " COLD_TotalPrice, \n" . " COLD_Count, \n" . " COLD_PersonNum, \n" . " COLD_ChildNum, \n" . " COLD_BabyNum, \n" . " cold_state, \n" . " DeleteFlag, \n" . " COLD_DeliveryCharge, \n" . " COLD_AddCode, \n" . " COLD_PlanVEI_SN, \n" . " COLD_SPFS, \n" . " COLD_ServiceSN \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $HT1 = $this->load->database('HT', true); $query = $HT1->query($sql, array($this->COLD_COLI_SN, $this->COLD_ServiceType, $this->COLD_StartDate, $this->COLD_EndDate, $this->COLD_TotalCost, $this->COLD_TotalPrice, $this->COLD_Count, $this->COLD_PersonNum, $this->COLD_ChildNum, $this->COLD_BabyNum, $this->cold_state, $this->DeleteFlag, $this->COLD_DeliveryCharge, $AddCode, $this->COLD_PlanVEI_SN, $this->COLD_SPFS, $this->COLD_ServiceSN) ); //查出最近插入的id $HT2 = $this->load->database('HT', true); $this->COLD_SN = $HT2->query('select MAX(COLD_SN) as insert_id FROM BIZ_ConfirmLineDetail WHERE COLD_AddCode=' . $AddCode)->row('insert_id'); return $this->COLD_SN; } var $FOI_SN; var $FOI_COLD_SN; // 订单子表sn var $Aircompany; //航空公司编码 var $FlightsNo; //航班号 var $Cabin; //舱位 var $DepartAirport; //出发机场 var $ArrivalAirport; //抵达机场 var $DepartureCity; //出发城市 var $DepartureTime; //出发日期 var $ArrivalCity; //抵达城市 var $Arrivaltime; //抵达时间 var $DepartureDate; //出发时间 var $adultCost; //成人成本 var $childCost; //小孩成倍 var $babyCost; //婴儿成本 var $adultPrice; //成人报价 var $childPrice; //小孩报价 var $babyPrice; //婴儿报价 var $Stopover; // var $PriceY; //Y仓价格 var $price_low; //最低价格 var $FOI_Mile; //里程 var $TicketAddress = ''; //寄送地址 var $FOI_CostTime = ''; //运行时间 var $Aircraft = ''; //12306座位编号 /** * * 商务机票订单入库 * */ function biz_flight_order_save() { //生成一个号码,用于MAX函数来查询插入ID时避免获得其它线程插入的值 $AddCode = $this->MakeOrderNumber(); $sql = "INSERT INTO BIZ_FlightsOrderInfo \n" . "( \n" . " FOI_COLD_SN, \n" . " Aircompany, \n" . " FlightsNo, \n" . " Cabin, \n" . " DepartAirport, \n" . " ArrivalAirport, \n" . " DepartureCity, \n" . " DepartureTime, \n" . " ArrivalCity, \n" . " Arrivaltime, \n" . " DepartureDate, \n" . " adultCost, \n" . " childCost, \n" . " babyCost, \n" . " adultPrice, \n" . " childPrice, \n" . " babyPrice, \n" . " Stopover, \n" . " PriceY, \n" . " price_low, \n" . " FOI_Mile, \n" . " TicketAddress, \n" . " FOI_CostTime, \n" . " FOI_AddCode, \n" . " Aircraft \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $HT1 = $this->load->database('HT', true); $query = $HT1->query($sql, array($this->FOI_COLD_SN, $this->Aircompany, $this->FlightsNo, $this->Cabin, $this->DepartAirport, $this->ArrivalAirport, $this->DepartureCity, $this->DepartureTime, $this->ArrivalCity, $this->Arrivaltime, $this->DepartureDate, $this->adultCost, $this->childCost, $this->babyCost, $this->adultPrice, $this->childPrice, $this->babyPrice, $this->Stopover, $this->PriceY, $this->price_low, $this->FOI_Mile, $this->TicketAddress, $this->FOI_CostTime, $AddCode, $this->Aircraft)); $this->FOI_SN = $HT1->query('select MAX(FOI_SN) as insert_id FROM BIZ_FlightsOrderInfo WHERE FOI_AddCode=' . $AddCode)->row('insert_id'); return $this->FOI_SN; } var $BPE_SN; var $BPE_FirstName; //客人 var $BPE_MiddleName; //客人 var $BPE_LastName; //客人 var $BPE_GuestType; //客人类型 var $BPE_Passport; //护照 var $BPE_imageSrc = ''; //护照图片 var $BPE_Nationality; //国籍 var $BPE_SEX; //性别 var $BPE_BirthDate; //生日 /** * * 商务订单参团客人入库 * */ function biz_book_people_save() { //生成一个号码,用于MAX函数来查询插入ID时避免获得其它线程插入的值 $AddCode = $this->MakeOrderNumber(); $sql = "INSERT INTO BIZ_BookPeople \n" . "( \n" . " BPE_FirstName, \n" . " BPE_MiddleName, \n" . " BPE_LastName, \n" . " BPE_GuestType, \n" . " BPE_Passport, \n" . " BPE_imageSrc, \n" . " BPE_Nationality, \n" . " BPE_SEX, \n" . " BPE_BirthDate, \n" . " BPE_AddCode \n" . ") \n" . "VALUES \n" . "( \n" . " N?, \n" . " N?, \n" . " N?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $query = $this->HT->query($sql, array($this->BPE_FirstName, $this->BPE_MiddleName, $this->BPE_LastName, $this->BPE_GuestType, $this->BPE_Passport, $this->BPE_imageSrc, $this->BPE_Nationality, $this->BPE_SEX, $this->BPE_BirthDate, $AddCode)); $this->BPE_SN = $this->HT->query('select MAX(BPE_SN) as insert_id FROM BIZ_BookPeople WHERE BPE_AddCode=' . $AddCode)->row('insert_id'); return $this->BPE_SN; } /** * 参团人关联 * * @param int 商务子表sn * @param int 参团客人sn */ function biz_bookpeople_List_save($COLD_SN, $BPE_SN) { $sql = "INSERT INTO BIZ_BookPeopleList \n" . "( \n" . " BPL_COLD_SN, \n" . " BPL_BPE_SN \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ? \n" . ")"; $query = $this->HT->query($sql, array($COLD_SN, $BPE_SN)); } /* * 生成订单号 * 根据系统时间生成,精确到0.0001微秒 */ function MakeOrderNumber() { return str_replace('.', '', sprintf('%11.4f', gettimeofday(TRUE))); } /** * 生成商务订单号 */ function biz_make_order_number() { /* $date = date('ymd',time()); $sql = "SELECT MAX( \n" . " CONVERT( \n" . " INT, \n" . " CASE \n" . " WHEN ISNUMERIC(RIGHT(COLI_ID, 3)) = 0 THEN LEFT(RIGHT(COLI_ID, 4), 3) \n" . " ELSE RIGHT(COLI_ID, 3) \n" . " END \n" . " ) \n" . " ) AS SN \n" . "FROM dbo.BIZ_ConfirmLineInfo \n" . "WHERE (LEFT(COLI_ID, 6) = ?)"; $query = $this->HT->query($sql,array($date)); $id = $query->row()->SN; if (is_null($id)||empty($id)) { $id = 0; } $ids = $date.(sprintf('%03d',(int)$id+1)); return $ids; */ //call $conn include('c:/database_conn.php'); $connection = array( 'UID' => $db['HT']['username'], 'PWD' => $db['HT']['password'], 'Database' => 'tourmanager', 'ConnectionPooling' => 1, 'CharacterSet' => 'utf-8', 'ReturnDatesAsStrings' => 1 ); $conn = sqlsrv_connect($db['HT']['hostname'], $connection); $stmt = sqlsrv_query($conn, "declare @ccid varchar(20);exec dbo.SP_GetBIZOrderNo @ccid out;select @ccid as ccid;"); if ($stmt === false) { echo "Error in executing statement 3.\n"; die(print_r(sqlsrv_errors(), true)); } else { //存储过程中每一个select都会产生一个结果集,取某个结果集就需要从第一个移动到需要的那个结果集 //如果结果集为空就移到下一个 while (sqlsrv_has_rows($stmt) !== TRUE) { sqlsrv_next_result($stmt); } $result_object = array(); while ($row = sqlsrv_fetch_object($stmt)) { $result_object[] = $row; } sqlsrv_free_stmt($stmt); sqlsrv_close($conn); return($result_object[0]->ccid); } } /** * * 更新订单状态(商务订单) * */ public function update_biz_order($order_id, $pay_manager, $source_type, $state, $text = '') { //更新订单 $sql = "UPDATE BIZ_ConfirmLineInfo SET COLI_PayManner=?,COLI_sourcetype=?,COLI_State=?,COLI_OrderDetailText=COLI_OrderDetailText+? WHERE COLI_ID=?"; $query = $this->HT->query($sql, array($pay_manager, $source_type, $state, $text, $order_id . '')); $this->insert_acc_info($order_id); return '是否执行:' . print_r($query, true) . ' sql:' . $sql . ' 参数:' . print_r(array($pay_manager, $source_type, $state, $text, $order_id . ''), true); } /** * * 更新火车订单购票截图 * */ public function update_train_order_pic($order_pic_id) { //更新订单 $sql = "exec dbo.SP_BIZ_GroupFinanceList_Insert '" . $order_pic_id . "'"; //$query = $this->HT->query($sql); include('c:/database_conn.php'); $connection = array( 'UID' => $db['HT']['username'], 'PWD' => $db['HT']['password'], 'Database' => 'tourmanager', 'ConnectionPooling' => 1, 'CharacterSet' => 'utf-8', 'ReturnDatesAsStrings' => 1 ); $conn = sqlsrv_connect($db['HT']['hostname'], $connection); $stmt = sqlsrv_query($conn, $sql); return $stmt; } /** * * 插入收款记录 * */ public function insert_acc_info($order_id) { //获取订单 $sql = "Select Top 1 COLI_SN,COLI_ID,COLI_PayManner,COLI_Price From BIZ_ConfirmLineInfo Where COLI_ID = ?"; $query = $this->HT->query($sql, array($order_id)); $order_info = $query->row(); //插入记录 $sql = "INSERT INTO BIZ_GroupAccountInfo \n" . " ( \n" . " GAI_COLI_SN, \n" . " GAI_COLI_ID, \n" . " GAI_Type, \n" . " GAI_SQJE, \n" . " GAI_SQDate, \n" . " GAI_SSJE, \n" . " GAI_SQJECurrency, \n" . " GAI_SSDate, \n" . " GAI_CusName, \n" . " GAI_CusEmail, \n" . " GAI_Memo \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . " )"; $query = $this->HT->query($sql, array($order_info->COLI_SN, $order_info->COLI_ID, $order_info->COLI_PayManner, $order_info->COLI_Price, date('Y-m-d H:i:s'), $order_info->COLI_Price, $this->config->item('Site_Currency'), date('Y-m-d H:i:s'), "", "", " ")); } function GetNationalityID($nationalityName) { if (!$nationalityName) { return 0; } if (is_numeric($nationalityName)) { return $nationalityName; } else { $sql = "SELECT TOP 1 ci2.COI2_COI_SN \n" . "FROM COuntryInfo2 ci2 \n" . "WHERE ci2.COI2_Country = ? "; $query = $this->HT->query($sql, array($nationalityName)); if ($query->result()) { $row = $query->row(); return $row->COI2_COI_SN; } else { return 0; } } } function GetNationalityName($nationalityID) { if (!is_numeric($nationalityID)) { return $nationalityID; } else { $sql = "SELECT TOP 1 ci2.COI2_Country \n" . "FROM COuntryInfo2 ci2 \n" . "WHERE ci2.COI2_LGC = 2 \n" . " AND ci2.COI2_COI_SN = ? "; $query = $this->HT->query($sql, array($nationalityID)); if ($query->result()) { $row = $query->row(); return $row->COI2_Country; } else { return $nationalityID; } } } /** * * 获取商务订单信息 * @param string $order_id 订单id * @return mixed 订单信息 * */ public function get_flight_order_by_id($order_id) { $sql = "SELECT DISTINCT cli.COLI_ID, \n" . " cli.COLI_Price, \n" . " bg.GUT_FirstName, \n" . " bg.GUT_LastName, \n" . " bg.GUT_Email, \n" . " bg.GUT_Email2, \n" . " bpe.BPE_SN, \n" . " bpe.BPE_GuestType, \n" . " bpe.BPE_FirstName, \n" . " bpe.BPE_MiddleName, \n" . " bpe.BPE_LastName, \n" . " bpe.BPE_GuestType, \n" . " bpe.BPE_Passport, \n" . " cld.COLD_Count, \n" . " foi.FlightsNo, \n" . " foi.DepartureDate, \n" . " foi.DepartureTime, \n" . " foi.ArrivalTime, \n" . " cli.COLI_PayManner, \n" . " cli.COLI_State, \n" . " cli.COLI_sourcetype, \n" . " foi.Cabin, \n" . " foi.DepartAirport, \n" . " foi.ArrivalAirport, \n" . " cld.COLD_SN, \n" . " foi.DepartureCity, \n" . " foi.ArrivalCity, \n" . " bg.GUT_TEL, \n" . " bg.GUT_NationalityID, \n" . " cli.COLI_OrderDetailText, \n" . " bpe.BPE_imageSrc, \n" . " cli.COLI_Cost, \n" . " cld.COLD_TotalPrice, \n" . " cld.COLD_TotalCost \n" . "FROM BIZ_ConfirmLineInfo cli \n" . " INNER JOIN BIZ_ConfirmLineDetail cld \n" . " ON cli.COLI_SN = cld.COLD_COLI_SN \n" . " INNER JOIN BIZ_GUEST bg \n" . " ON bg.GUT_SN = cli.COLI_GUT_SN \n" . " INNER JOIN BIZ_BookPeopleList bpl \n" . " ON bpl.BPL_COLD_SN = cld.COLD_SN \n" . " INNER JOIN BIZ_BookPeople bpe \n" . " ON bpl.BPL_BPE_SN = bpe.BPE_SN \n" . " INNER JOIN BIZ_FlightsOrderInfo foi \n" . " ON foi.FOI_COLD_SN = cld.COLD_SN \n" . "WHERE cli.COLI_ID = ? AND isnull(cld.deleteflag,0) = 0 "; $query = $this->HT->query($sql, array($order_id)); return $query->result(); } /** * * 获取机票订单乘员列表 * @param string $order_id 订单id * @return mixed 订单信息 * */ public function get_bpe_list_by_id($order_id) { $sql = "SELECT DISTINCT bpe.BPE_SN, \n" . " bpe.BPE_FirstName, \n" . " bpe.BPE_MiddleName, \n" . " bpe.BPE_LastName, \n" . " bpe.BPE_Passport \n" . "FROM BIZ_BookPeople bpe \n" . " INNER JOIN BIZ_BookPeopleList bpl \n" . " ON bpe.BPE_SN = bpl.BPL_BPE_SN \n" . " INNER JOIN BIZ_ConfirmLineDetail cold \n" . " ON bpl.BPL_COLD_SN = cold.COLD_SN \n" . " INNER JOIN BIZ_ConfirmLineInfo coli \n" . " ON coli.COLI_SN = cold.COLD_COLI_SN \n" . "WHERE coli.COLI_ID = ?"; $query = $this->HT->query($sql, array($order_id)); //echo(''); return $query->result(); } /** * * 获取机票电子票号 * @param array bpe_sn 乘客sn数组 * @return mixed 机票票号 * */ public function get_ticket_no($bpe_sn) { if (is_array($bpe_sn)) { $instr = join(',', $bpe_sn); } elseif (is_string($bpe_sn)) { $instr = $bpe_sn; } else { $instr = 0; } $sql = "SELECT DISTINCT ftn.FTN_FilghtsNo, \n" . " ftn.FTN_TicketNo, \n" . " ftn.FTN_GuestNo \n" . "FROM BIZ_FlightsTicketNo ftn \n" . "WHERE ftn.FTN_GuestNo IN (" . $instr . ")"; $query = $this->HT->query($sql); return $query->result(); } /* * 发送邮件 */ function SendMail($fromName, $fromEmail, $toName, $toEmail, $subject, $body) { $sql = "INSERT INTO Email_AutomaticSend \n" . " ( \n" . " M_ReplyToName, M_ReplyToEmail, M_ToName, M_ToEmail, M_Title, M_Body, M_Web, \n" . " M_FromName, M_State \n" . " ) \n" . "VALUES \n" . " ( \n" . " ?, ?, ?, ?, ?, ?, ?, ?, 0 \n" . " ) "; $query = $this->HT->query($sql, array($fromName, $fromEmail, $toName, $toEmail, $subject, $body, $this->config->item('Site_Code'), $this->config->item('Site_Domain'))); return $query; } /** * wifi预订入库(目前仅CHT使用) * * @return int 插入id */ var $WOI_COLD_SN; var $WOI_Device; //设备(智能手机、pad) var $WOI_DeviceCount; //设备数量 var $WOI_UsersCount; //使用人数 var $WOI_Package; //Wi-Fi套餐 var $WOI_PackageCount; //套餐数量 var $WOI_DeliverDate; //起租日期 var $WOI_DeliverCity; //起租城市 var $WOI_DeliverAddr; //起租地址 var $WOI_ReturnDate; //归还日期 var $WOI_ReturnCity; //归还城市 var $WOI_ReturnAddr; //归还地址 var $WOI_OtherService; //其他服务 var $WOI_GroupNo; //团号 var $WOI_ExpressNo; //快递单号 public function biz_wifi_info_save() { $sql = "INSERT INTO BIZ_WifiOrderInfo \n" . "( \n" . " WOI_COLD_SN, \n" . " WOI_Device, \n" . " WOI_DeviceCount, \n" . " WOI_UsersCount, \n" . " WOI_Package, \n" . " WOI_PackageCount, \n" . " WOI_DeliverDate, \n" . " WOI_DeliverCity, \n" . " WOI_DeliverAddr, \n" . " WOI_ReturnDate, \n" . " WOI_ReturnCity, \n" . " WOI_ReturnAddr, \n" . " WOI_OtherService, \n" . " WOI_GroupNo, \n" . " WOI_ExpressNo \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $HT1 = $this->load->database('HT', true); $query = $HT1->query($sql, array($this->WOI_COLD_SN, $this->WOI_Device, $this->WOI_DeviceCount, $this->WOI_UsersCount, $this->WOI_Package, $this->WOI_PackageCount, $this->WOI_DeliverDate, $this->WOI_DeliverCity, $this->WOI_DeliverAddr, $this->WOI_ReturnDate, $this->WOI_ReturnCity, $this->WOI_ReturnAddr, $this->WOI_OtherService, $this->WOI_GroupNo, $this->WOI_ExpressNo )); } /** * 酒店预订入库 * * @return int 插入id */ var $HOI_COLD_SN; //必选 var $HOI_NoSmoking = null; //无烟房 var $HOI_EarlyTime = null; //最早确认时间,已不用 var $HOI_LastTime = null; //最晚确认时间,已不用 var $HOI_Room_NO = null; //房号 var $HOI_ExtraNum = 0; //加床 var $HOI_RoomTypeName = null; //房型 var $HOI_BreakNum = null; //早餐人数 var $HOI_PriceType = null; //价格类型 var $HOI_BreakType = null; //早餐类型 var $HOI_RoomRates = null; var $HOI_ExtrabedRates = null; var $HOI_TaxFee = null; public function biz_hotel_order_save() { /* ASP版本 sql="select * from BIZ_HotelOrderInfo where 1=2" rs2.open sql,conn,3,3,1 rs2.addnew rs2("HOI_COLD_SN")=COLD_SN rs2("HOI_ExtraNum") = extrabed if clng(Smoking)<2 then rs2("HOI_NoSmoking")=Smoking end if rs2("HOI_EarlyTime")=earlydate rs2("HOI_LastTime")="" rs2.update rs2.close */ $sql = "INSERT INTO BIZ_HotelOrderInfo \n" . "( \n" . " HOI_COLD_SN, \n" . " HOI_NoSmoking, \n" . " HOI_EarlyTime, \n" . " HOI_LastTime, \n" . " HOI_Room_NO, \n" . " HOI_ExtraNum, \n" . " HOI_RoomTypeName, \n" . " HOI_BreakNum, \n" . " HOI_PriceType, \n" . " HOI_BreakType, \n" . " HOI_RoomRates, \n" . " HOI_ExtrabedRates, \n" . " HOI_TaxFee \n" . ") \n" . "VALUES \n" . "( \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ?, \n" . " ? \n" . ")"; $HT1 = $this->load->database('HT', true); $query = $HT1->query($sql, array( $this->HOI_COLD_SN, $this->HOI_NoSmoking, $this->HOI_EarlyTime, $this->HOI_LastTime, $this->HOI_Room_NO, $this->HOI_ExtraNum, $this->HOI_RoomTypeName, $this->HOI_BreakNum, $this->HOI_PriceType, $this->HOI_BreakType, $this->HOI_RoomRates, $this->HOI_ExtrabedRates, $this->HOI_TaxFee )); } /** * * 返回成行订单 * 条件1:订单类型 * 天剑2:网站来源 * */ public function get_order_info($COLI_sourcetype, $COLI_WebCode, $biz = true) { if ($biz) { $sql = "SELECT TOP 200 c.COLI_WebCode, \n" . " c.COLI_ID, \n" . " c.COLI_ConfirmDate, \n" . " c.COLI_ApplyDate, \n" . " ISNULL(c.COLI_IsSuccess, 0) AS success \n" . "FROM BIZ_ConfirmLineInfo c \n" . "WHERE c.COLI_sourcetype = ? \n" . " AND c.COLI_WebCode = ? \n" . "ORDER BY \n" . " c.COLI_SN DESC"; $query = $this->HT->query($sql, array($COLI_sourcetype, $COLI_WebCode)); } else { $sql = "SELECT TOP 200 c.COLI_WebCode, \n" . " c.COLI_ID, \n" . " c.COLI_ConfirmDate, \n" . " c.COLI_ApplyDate, \n" . " CASE WHEN c.COLI_Sended = 5 THEN 1 ELSE 0 END AS success \n" . "FROM ConfirmLineInfo c \n" . "WHERE c.COLI_sourcetype = ? \n" . " AND c.COLI_WebCode = ? \n" . "ORDER BY \n" . " c.COLI_SN DESC"; $query = $this->HT->query($sql, array($COLI_sourcetype, $COLI_WebCode)); } $this->sql = $this->HT->queries; return $query->result(); } //传统订单支付之后,插入新的订单信息 public function insert_daytrip_order($coli_sn, $pay_manner, $gri_sn, $state, $deleteflag) { //获取订单 $order_info_sql = " SELECT confirmlineinfotmp.COLI_OrderPrice, memberinfotmp.MEI_FirstName, memberinfotmp.MEI_LastName, memberinfotmp.MEI_Mail FROM memberinfotmp INNER JOIN customerlisttmp ON memberinfotmp.mei_sn = customerlisttmp.cul_cui_sn INNER JOIN confirmlineinfotmp ON customerlisttmp.cul_coli_sn = confirmlineinfotmp.coli_sn WHERE (customerlisttmp.cul_coli_sn = ? )"; $query = $this->HT->query($order_info_sql, array($coli_sn)); $order_info = $query->row(); //插入记录 $sql = "INSERT INTO GroupAccountInfoTmp ( GAI_COLI_SN, GAI_SQJE, GAI_SQDate, GAI_CusName, GAI_CusEmail, GAI_SQJECurrency, GAI_Type, LastEditTime, GAI_GRI_SN, GAI_State, DeleteFlag ) VALUES (?,?,?,?,?,?,?,?,?,?,?)"; $query = $this->HT->query($sql, array($coli_sn, $order_info->COLI_OrderPrice, date('Y-m-d H:i:s'), $order_info->MEI_FirstName . " " . $order_info->MEI_LastName, $order_info->MEI_Mail, $this->config->item('Site_Currency'), $pay_manner, date('Y-m-d H:i:s'), $gri_sn, $state, $deleteflag ) ); } //来源终端 tablet mobile desktop public function check_device() { if (isset($_SERVER['HTTP_USER_AGENT'])) { $ua = $_SERVER['HTTP_USER_AGENT']; } else { $ua = ''; } ## This credit must stay intact (Unless you have a deal with @lukasmig or frimerlukas@gmail.com ## Made by Lukas Frimer Tholander from Made In Osted Webdesign. ## Price will be $2 $iphone = strstr(strtolower($ua), 'mobile'); //Search for 'mobile' in user-agent (iPhone have that) $android = strstr(strtolower($ua), 'android'); //Search for 'android' in user-agent $windowsPhone = strstr(strtolower($ua), 'phone'); //Search for 'phone' in user-agent (Windows Phone uses that) if (!function_exists('androidTablet')) { function androidTablet($ua) { //Find out if it is a tablet if (strstr(strtolower($ua), 'android')) { //Search for android in user-agent if (!strstr(strtolower($ua), 'mobile')) { //If there is no ''mobile' in user-agent (Android have that on their phones, but not tablets) return true; } } } } $androidTablet = androidTablet($ua); //Do androidTablet function $ipad = strstr(strtolower($ua), 'ipad'); //Search for iPad in user-agent if ($androidTablet || $ipad) { //If it's a tablet (iPad / Android) return 'tablet'; } elseif ($iphone && !$ipad || $android && !$androidTablet || $windowsPhone) { //If it's a phone and NOT a tablet return 'mobile'; } else { //If it's not a mobile device return 'desktop'; } } }