HT = $this->load->database('HT', TRUE); $this->InfoCT = $this->load->database('INFORMATION', TRUE); } var $dei_sn = 17; //组别ID var $CTLGC = 104; //语种 var $WebCode = "chinatravel"; //站点编码 var $WebUrl = "www.chinatravel.com"; //站点URL var $WebCdn = "data.chinatravel.com"; //站点CDN地址 var $imagesUrl = "images.chinatravel.com"; //站点多媒体库地址 /** * @description: 根据一日游code获取对应人数的成人价格 * @param {string} $pagecode 线路代码 * @param int $personnum 人数 * @return: */ function getDaytripsPrice($pagcode, $personnum) { $sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice ,PAG_DefaultVEI_SN from BIZ_PackagePrice inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN and BIZ_PackagePrice.PKP_VEI_SN = BIZ_PackageInfo.PAG_DefaultVEI_SN where (BIZ_PackageInfo.PAG_Code = ?) AND (pag_dei_sn= ? ) and ? between PKP_PersonStart and PKP_PersonStop and CONVERT(varchar(12),getdate(),111) between pkp_validdate and pkp_invaliddate order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc,PKP_PriceGrade "; $param = array($pagcode,$this->dei_sn, $personnum); $query = $this->HT->query($sql, $param); if ($query->num_rows() > 0) { return $query->row(); } else { //'第二种有默认供应商但是没有当前日期价格的时候 $sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice ,PAG_DefaultVEI_SN from BIZ_PackagePrice inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN and BIZ_PackagePrice.PKP_VEI_SN = BIZ_PackageInfo.PAG_DefaultVEI_SN where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? ) and ? between PKP_PersonStart and PKP_PersonStop order by pkp_invaliddate desc,PKP_PriceGrade "; $query = $this->HT->query($sql, $param); if ($query->num_rows() > 0) { return $query->row(); }else{ //'第三种没有默认供应商但是有当前日期价格的时候 $sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice ,PAG_DefaultVEI_SN from BIZ_PackagePrice inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? ) and ? between PKP_PersonStart and PKP_PersonStop and CONVERT(varchar(12),getdate(),111) between pkp_validdate and pkp_invaliddate order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc,PKP_PriceGrade "; $query = $this->HT->query($sql, $param); if ($query->num_rows() > 0) { return $query->row(); }else{ //'第四种无默认供应商无当前日期价格 $sql = "select top 1 isnull(PKP_AdultPrice,0) as PKP_AdultPrice,isnull(PKP_AdultSpecialPrice,0) as PKP_AdultSpecialPrice ,PAG_DefaultVEI_SN from BIZ_PackagePrice inner join BIZ_PackageInfo on BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN where (BIZ_PackageInfo.PAG_Code = ? ) AND (pag_dei_sn= ? ) and ? between PKP_PersonStart and PKP_PersonStop order by pkp_invaliddate desc,PKP_PriceGrade "; $query = $this->HT->query($sql, $param); if ($query->num_rows() > 0) { return $query->row(); }else { return null; } } } } } /** * @description: 获取精华线路价格,2人等 * @param {*} * @return {*} * @Date Changed: */ function getTourPrice($cli_no){ $CLI_SN = ""; $reust = ""; //'新的GP没有设置以前的2-5人等价格,导致读不出价格。把Gp价格放前面计算 $sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo where CLI_NO=? and ( CLI_State = 1005003 or CLI_State=1005004) and CLI_Grade=7001 AND (CLI_DEI_SN= ? )"; $query = $this->HT->query($sql,array($cli_no,$this->dei_sn)); if (!$query->num_rows()>0){ return null; }else{ $row = $query->row(); if (isset($row)){ $CLI_SN = $row->CLI_SN; } //'获取线路是否有travelbuddy,也就是有固定的发团日期 $fut_sql = "SELECT count(*) as CountBuddy FROM FixedGroupDate WHERE FGD_CLI_SN='".$CLI_SN."'"; $futQuery = $this->HT->query($fut_sql); $futrow = $futQuery->row(); $fut_CountBuddy = $futrow->CountBuddy; if ($fut_CountBuddy>0){ //读取GP价格 $gpSql ="SELECT TOP 1 FGD_AdultPrice,FGD_Departure, isnull(FGD_ProAdultPrice,0) as FGD_ProAdultPrice FROM FixedGroupDate WHERE (FGD_Departure >= GETDATE()) AND (FGD_CLI_SN = ".$CLI_SN.") AND (FGD_State = 1) ORDER BY FGD_AdultPrice"; $gpquery = $this->HT->query($gpSql); if ($gpquery->num_rows()>0){ $gpRow = $gpquery->row(); $FGD_AdultPrice = $gpRow->FGD_AdultPrice; $FGD_ProAdultPrice = $gpRow->FGD_ProAdultPrice; if ($FGD_ProAdultPrice>0){ $reust = $FGD_ProAdultPrice; //促销价 }else{ $reust=$FGD_AdultPrice; } } }else { //普通线路价格 $sql = "select top 1 CLI_SN,CLP_TwoToFiveAdultPrice,CLI_PackageClass FROM CustomerLineInfo INNER JOIN CustomerLinePrice ON CustomerLineInfo.CLI_SN = CustomerLinePrice.CLP_CLI_SN INNER JOIN CustomerLineInfo2 ON CustomerLineInfo.CLI_SN = CustomerLineInfo2.CLI2_CLI_SN where CLI_SN= ? and CLI2_LGC=? and (CLP_Area=1 or CLP_Area=2) and (CLI_State = 1005004 or CLI_State = 1005003) ORDER BY CLP_TwoToFiveAdultPrice"; $query = $this->HT->query($sql,array($CLI_SN,$this->CTLGC)); if ($query->num_rows()>0){ $reust = $query->row()->CLP_TwoToFiveAdultPrice; } } } return $reust; } /** * @description: 一日游列表,包含信息平台和HT * @param {*} $whereHT HT的查询条件 * @param {*} $whereInfo 信息平台的查询条件 * @return {*} * @Date Changed: */ function getDaytripList($whereHT="",$whereInfo=""){ $sql = "select * from( select * from( SELECT p2.PAG2_Name as title ,P1.PAG_Code as code ,'' as url ,isnull(p2.PAG2_ImageURL,'') as pic1 ,isnull((select top 1 PAP_ImageURL from BIZ_PackagePic where PAP_PII_SN=p2.PAG2_PII_SN),'') as pic2 ,'2' as sortby FROM dbo.BIZ_PackageInfo P1 INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC = 1 WHERE 1=2 and (p2.PAG2_LGC = 104) AND (p1.pag_dei_sn = '".$this->dei_sn."') AND (p2.PAG2_Check = 2) AND (PAG_Code not in( SELECT convert(varchar(100),( SELECT TOP 1 im_value FROM information_ct.dbo.infoMetas WHERE im_key = 'meta_product_code' AND im_ic_id = ic_id )) AS code FROM information_ct.dbo.infoContents INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id WHERE is_sitecode = '".$this->WebCode."'".$whereInfo." AND ic_status = 1 )) AND (isnull(P1.DeleteFlag,0) <>1) ".$whereHT." ) Tmp UNION ALL SELECT * from ( select ic_url_title as title ,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_product_code' and im_ic_id=ic_id) as code ,ic_url as url , ic_photo as pic1 ,(select top 1 im_value from information_ct.dbo.infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2 ,'1' as sortby FROM information_ct.dbo.infoContents inner join information_ct.dbo.infoStructures on ic_id=is_ic_id WHERE is_sitecode='".$this->WebCode."' ".$whereInfo." and ic_status=1 ) as t ) tball where 1=1 ORDER BY tball.sortBy ASC "; $query = $this->HT->query($sql); return $query->result(); } /** * @description: HT获取一日游列表 * @param {*} $city 一日游城市 ,默认必须有城市,不然太多 * @param {*} $where 其它条件 * @return {*} * @Date Changed: */ function getDaytripListHT($city="beijing",$where=""){ $sql = " select * from( SELECT p2.PAG2_Name ,p2.PAG2_Intro ,P1.PAG_NeedTime ,P1.PAG_SN ,P1.PAG_Leve ,p2.PAG2_Order ,P1.PAG_Code ,p2.PAG2_Attraction ,CItyInfo2.CII2_Name ,isnull((select top 1 PAP_ImageURL from BIZ_PackagePic where PAP_PII_SN=p2.PAG2_PII_SN),'') as NewListImage ,isnull(p2.PAG2_ImageURL,'') as NewListImage2 ,dbo.GetFullPathByPII_SN(p2.PAG2_PII_SN, 2) AS picpath ,p2.PAG2_Title ,p1.PAG_Type ,pag2_summary FROM dbo.BIZ_PackageInfo P1 INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC = 1 WHERE (p2.PAG2_LGC = ?) AND (p1.pag_dei_sn = ?) AND (p2.PAG2_Check = 2) AND (isnull(P1.DeleteFlag,0) <>1) ) Tmp where 1=1 "; if ($city!=""){ $sql .= " AND (CII2_Name ='".$city."')"; } // $sql .= "and PAG_Code in ('SHALC-1','SHALC-7')"; $sql .= " order by isnull(pag2_order,0) desc,pag_code "; // echo ($sql); $param = array($this->CTLGC,$this->dei_sn); $query = $this->HT->query($sql,$param); return $query->result(); } /** * @description: 获取子类信息列表 * @param {type} $old_pid,$new_pid 父类的Id,分为旧网站的和新网站的 * @return: * @Date Changed: * 这个目前就只有CT能用 */ function getGuideList($old_pid,$new_pid){ $sql = " select top 1 ic_url from dbo.infoContents inner join infoStructures on ic_id=is_ic_id where is_id = ? "; $query = $this->InfoCT->query ($sql ,array($new_pid)); if ($query->num_rows()>0){ $url = $query->row()->ic_url; }else{ $url = ""; } if ($url==""){$url="nourl";} ////原来读取旧信息数据 // SELECT ic_url,ic_url_title,ic_photo // ,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2 // ,'2' as sortby // FROM dbo.infoContents // inner join infoStructures on ic_id=is_ic_id // WHERE is_sitecode='ct' // and ic_status=1 // and is_parent_id = ? $sql = " select * from ( SELECT ic_url,ic_url_title,ic_photo ,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2 ,'2' as sortby , is_sort FROM dbo.infoContents inner join infoStructures on ic_id=is_ic_id WHERE is_sitecode='ct' and ic_status=1 and ic_url like ? and is_parent_id <> ? UNION ALL SELECT ic_url,ic_url_title,ic_photo ,(select top 1 im_value from infoMetas where im_key='meta_addon_picture_mobile' and im_ic_id=ic_id) as pic2 ,'1' as sortby ,is_sort FROM dbo.infoContents inner join infoStructures on ic_id=is_ic_id WHERE is_sitecode='chinatravel' and ic_status=1 and is_parent_id = ? ) allbt order by sortby ,is_sort "; $qurey = $this->InfoCT->query($sql,array($url."/%",$new_pid,$new_pid)); return $qurey->result(); } /** * @description: 获取线路的sn * @param {*} $clino 线路编码 * @return {*} * @Date Changed: */ function getCliSn($clino=""){ $sql = "select top 1 CLI_SN,CLI_PackageClass from CustomerLineInfo where CLI_NO=? and CLI_State=1005004 AND (CLI_DEI_SN= ? )"; $query = $this->HT->query($sql,array($clino,$this->dei_sn)); if (!$query->num_rows()>0){ return null; }else{ return $query->row(); } } /** * @description: 获取一日游价格列表 * @param {*} $pagcode * @return {*} * @Date Changed: */ function getDaytripPriceList($pagcode){ //1.先根据编码获取SN $sql = "select top 1 PAG_SN from BIZ_PackageInfo p1 inner join BIZ_PackageInfo2 p2 on p1.PAG_SN = p2.PAG2_PAG_SN where p1.pag_dei_sn = ? and p2.PAG2_LGC = ? and p1.PAG_Code = ? and p2.PAG2_Check = 2 AND (isnull(P1.DeleteFlag,0) <>1) "; $query = $this->HT->query($sql,array($this->dei_sn,$this->CTLGC,$pagcode)); if ($query->num_rows()>0){ //2.根据SN获取获取一个供应商的ID,不然所有供应商的价格都出来了。 $pagsn = $query->row()->PAG_SN; $sql = "select top 10 PAG_DefaultVEI_SN,pkp_vei_sn ,* from BIZ_PackagePrice left join BIZ_PackageInfo on BIZ_PackageInfo.PAG_DefaultVEI_SN=BIZ_PackagePrice.PKP_VEI_SN and BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN where PKP_PAG_SN =? order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc ,PKP_InvalidDate desc"; $query = $this->HT->query($sql,array($pagsn)); if ($query->num_rows()>0){ $veisn = $query->row()->pkp_vei_sn; if (!empty($query->row()->PAG_DefaultVEI_SN)){ $veisn = $query->row()->PAG_DefaultVEI_SN; } }else{ $veisn=0; } //3.根据供应商ID获取对应价格列表 $sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice ,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice ,PKP_PersonStart ,PKP_PersonStop FROM BIZ_PackagePrice WHERE PKP_PAG_SN = ? AND PKP_VEI_SN = ? AND getdate() BETWEEN pkp_validdate AND pkp_invaliddate and Checked=2 ORDER BY PKP_PersonStart "; $query = $this->HT->query($sql,array($pagsn,$veisn)); if (!$query->num_rows()>0){ //如果今年没价格,获取去年的价格 $nowYear = date('Y'); for ($i=1;$i<6;$i++){ $price_pyears = $nowYear-$i ."-1-1"; $price_pyears_2 = $nowYear-$i . "-12-31"; $sql = "SELECT isnull(PKP_AdultPrice, 0) AS PKP_AdultPrice ,isnull(PKP_AdultSpecialPrice, 0) AS PKP_AdultSpecialPrice ,PKP_PersonStart ,PKP_PersonStop FROM BIZ_PackagePrice WHERE PKP_PAG_SN = ? AND PKP_VEI_SN = ? AND pkp_validdate BETWEEN '".$price_pyears."' AND '".$price_pyears_2."' ORDER BY PKP_PersonStart "; $query = $this->HT->query($sql,array($pagsn,$veisn)); if ($query->num_rows()>0){ break; } } } if ($query->num_rows()>0){ //4.价格列表返回 return $query->result(); }else { return null; } }else{ return null; } } //根据图片URL判断CDN的地址 function getPicCdn($picurl){ $strCdn =""; if (strpos($picurl,$this->WebUrl)!== false || strpos($picurl,$this->WebCdn)!== false || strpos($picurl,$this->imagesUrl)!== false ) { $strCdn=""; } else if (strpos($picurl,"allpicture")!== false){ $strCdn = "//".$this->imagesUrl ; }else if (strpos($picurl,"/album/userupload/")!== false){ $strCdn = "//".$this->WebCdn ; }else if (strpos($picurl,"/images/")!== false) { $strCdn = "//".$this->WebCdn; }else{ $strCdn = "//".$this->imagesUrl; } return $strCdn; } /** * @description: //旧数据导入新数据 * @param {*} $id * @param {*} $oldUrl * @return {*} * @Date Changed: */ function copyOldUrl($id,$oldUrl){ $sql = "UPDATE icNew SET icNew.ic_content = icOld.ic_content ,icNew.ic_summary = icOld.ic_summary ,icNew.ic_title = icOld.ic_title ,icNew.ic_url_title = icOld.ic_url_title ,icNew.ic_seo_title = icOld.ic_seo_title ,icNew.ic_seo_description = icOld.ic_seo_description ,icNew.ic_seo_keywords = icOld.ic_seo_keywords ,icNew.ic_photo = icOld.ic_photo FROM infoContents icNew ,infoContents icOld WHERE icNew.ic_id = ? AND icNew.ic_sitecode = '".$this->WebCode."' AND icOld.ic_url = ? AND icOld.ic_sitecode = 'ct'"; return $this->InfoCT->query($sql, array($id,$oldUrl)); } /** * @description: 根据信息标题获取对应的翰特包价线路内容 * @param {string} $pagecode * @return: */ function get_pagdetail($pagcode) { if (!is_string($pagcode)){ $pagcode=""; } $sql = " SELECT top 1 P1.PAG_ExtendType, P1.PAG_NeedTime,p2.PAG2_Name,P1.PAG_SN,p2.PAG2_Attraction, P1.PAG_Code,P1.PAG_Title, CItyInfo2.CII2_Name ,P1.PAG_Type ,PAG_Scheme ,PAG_GuideLan ,PAG2_TimeDetail ,p1.PAG_SourceType ,PAG2_Summary FROM dbo.BIZ_PackageInfo P1 INNER JOIN dbo.BIZ_PackageInfo2 p2 ON P1.PAG_SN = p2.PAG2_PAG_SN INNER JOIN dbo.CItyInfo2 ON P1.PAG_CII_SN = dbo.CItyInfo2.CII2_CII_SN AND dbo.CItyInfo2.CII2_LGC=? WHERE (p1.pag_dei_sn=" . $this->dei_sn . ") AND (p2.PAG2_LGC = ?) AND (isnull(P1.DeleteFlag,0)<>1) AND (p1.PAG_Code = ?) "; // AND (p2.PAG2_Check = 2) // AND (isnull(P1.DeleteFlag,0) <>1) "; if($this->CTLGC==2){ $cii2_lgc = 2; }else{ $cii2_lgc = 1; } $query = $this->HT->query($sql, array($cii2_lgc,$this->CTLGC,$pagcode)); if ($query->num_rows() > 0) { return $query->row(); } else { return null; } } /** * 获取一日游产品的价格列表用来计算,默认读取4年的价额,前年,去年今年,明年 */ function getDaytripPriceData($pagcode){ //1.先根据编码获取SN $sql = "select top 1 PAG_SN from BIZ_PackageInfo p1 inner join BIZ_PackageInfo2 p2 on p1.PAG_SN = p2.PAG2_PAG_SN where p1.pag_dei_sn = ? and p2.PAG2_LGC = ? and p1.PAG_Code = ? --and p2.PAG2_Check = 2 AND (isnull(P1.DeleteFlag,0) <>1) "; $query = $this->HT->query($sql,array($this->dei_sn,$this->CTLGC,$pagcode)); if ($query->num_rows()>0){ //2.根据SN获取获取一个供应商的ID,不然所有供应商的价格都出来了。 $pagsn = $query->row()->PAG_SN; $sql = "select top 10 PAG_DefaultVEI_SN,pkp_vei_sn ,* from BIZ_PackagePrice left join BIZ_PackageInfo on BIZ_PackageInfo.PAG_DefaultVEI_SN=BIZ_PackagePrice.PKP_VEI_SN and BIZ_PackageInfo.PAG_SN = BIZ_PackagePrice.PKP_PAG_SN where PKP_PAG_SN =? order by isnull( BIZ_PackageInfo.PAG_DefaultVEI_SN,0) desc ,PKP_InvalidDate desc"; $query = $this->HT->query($sql,array($pagsn)); if ($query->num_rows()>0){ $veisn = $query->row()->pkp_vei_sn; if (!empty($query->row()->PAG_DefaultVEI_SN)){ $veisn = $query->row()->PAG_DefaultVEI_SN; } }else{ $veisn=0; } //3.根据供应商ID获取对应价格列表 $sql = "SELECT PKP_PersonStart ,PKP_PersonStop ,'PKP_AdultPrice'=( Case When (PKP_AdultSpecialPrice>0 and PKP_AdultSpecialPrice<>PKP_AdultNetPrice) then PKP_AdultSpecialPrice else PKP_AdultNetPrice end) ,'PKP_ChildPrice'=( Case When (PKP_ChildSpecialPrice>0 and PKP_ChildSpecialPrice<>PKP_ChildNetPrice) then PKP_ChildSpecialPrice else PKP_ChildNetPrice end) ,convert(varchar(100),PKP_ValidDate,111) as PKP_ValidDate ,convert(varchar(100),PKP_InvalidDate,111) as PKP_InvalidDate FROM BIZ_PackagePrice WHERE PKP_PAG_SN = ? AND PKP_VEI_SN = ? AND PKP_InvalidDate>=DATEADD(YEAR,-2,GETDATE()) and Checked=2 ORDER BY PKP_PersonStart "; $query = $this->HT->query($sql,array($pagsn,$veisn)); if ($query->num_rows()>0){ //4.价格列表返回 return $query->result(); }else { return null; } }else{ return null; } } /** * 获取发布的线路详细页的所有产品对应的线路类型列表。(用于搜索页) */ function getLineTypeList(){ $sql = " SELECT DISTINCT CLI_LineType FROM CustomerLineInfo INNER JOIN CustomerLineInfo2 ON CustomerLineInfo.CLI_SN = CustomerLineInfo2.CLI2_CLI_SN WHERE (CLI_DEI_SN=".$this->dei_sn.") AND (CLI_State = 1005004) AND (CLI2_LGC = ".$this->CTLGC.") and isnull(CustomerLineInfo2.DeleteFlag,0)=0 and CLI_NO in ( SELECT convert(varchar(100),( SELECT TOP 1 im_value FROM information_ct.dbo.infoMetas WHERE im_key = 'meta_ct_page_value' AND im_ic_id = ic_id )) AS code FROM information_ct.dbo.infoContents INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id WHERE is_sitecode ='".$this->WebCode."' AND ic_status = 1 and ic_id in (select im_ic_id from information_ct.dbo.infoMetas where im_key='meta_ct_page_type' and convert(varchar(100),im_value)='tourdetail') )"; $query =$this->HT->query($sql); $all_values = array(); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { $column_data = $row['CLI_LineType']; // 分割逗号分隔的值 $values = explode(',', $column_data); // 去除每个值的空白字符 $values = array_map('trim', $values); // 合并到总数组 $all_values = array_merge($all_values, $values); } } // 去重 $unique_values = array_unique($all_values); // // 重新索引数组(可选) // $unique_values = array_values($unique_values); // // 按数值大小排序(如果需要) // sort($unique_values, SORT_NUMERIC); // 合并为逗号分隔的字符串,所有类型的字符串 $result_string = implode(',', $unique_values); //return $result_string; $sql2 = " select SYC_SN, SYC2_CodeDiscribe from SystemCode inner join SystemCode2 on SYC_SN = SYC2_SYC_SN where SYC_Type=6 and SYC2_LGC=".$this->CTLGC." and SYC2_CodeDiscribe>'' and SYC_SN in (".$result_string.") "; $query = $this->HT->query($sql2); if ($query->num_rows()>0){ return $query->result(); }else { return null; } } /** * 获取所有录入线路的列表 */ public function getTourList(){ $sql = "SELECT convert(varchar(100),( SELECT TOP 1 im_value FROM information_ct.dbo.infoMetas WHERE im_key = 'meta_ct_page_value' AND im_ic_id = ic_id )) AS code ,convert(varchar(100),( SELECT TOP 1 im_value FROM information_ct.dbo.infoMetas WHERE im_key = 'meta_addon_picture' AND im_ic_id = ic_id )) AS pcPic ,convert(varchar(100),( SELECT TOP 1 im_value FROM information_ct.dbo.infoMetas WHERE im_key = 'meta_addon_picture_mobile' AND im_ic_id = ic_id )) AS mobilePic ,ic_photo,ic_url,ic_url_title FROM information_ct.dbo.infoContents INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id WHERE is_sitecode ='".$this->WebCode."' AND ic_status = 1 and ic_id in (select im_ic_id from information_ct.dbo.infoMetas where im_key='meta_ct_page_type' and convert(varchar(100),im_value)='tourdetail') "; //信息平台开放的线路列表 $query =$this->HT->query($sql); $resultJson = array(); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { $tourItem = new stdClass(); $tourItem->code = $row["code"]; // 优先级:mobilePic → pcPic → ic_photo → 默认图 $tourItem->pic = !empty($row["mobilePic"]) ? $row["mobilePic"] : (!empty($row["pcPic"]) ? $row["pcPic"] : (!empty($row["ic_photo"]) ? $row["ic_photo"] : "/image/grey.gif")); $tourItem->url = $row["ic_url"]; $tourItem->title = $row["ic_url_title"]; //价格 $price = $this->getTourPrice($row["code"]); // 处理价格: // 1. 如果是 null,设为空字符串 "" // 2. 如果是数字(如 100.0000),转为整数(100) $tourItem->price = ($price === null) ? "" : (string)(int)floatval($price); //类别信息 $tourDetail = $this->getTourDetail($row["code"]); if (isset($tourDetail->CLI_LineType)){ $tourItem->linetype = strval($tourDetail->CLI_LineType); }else{ $tourItem->linetype = ""; } //城市 if (isset($tourDetail->CLI2_PassCity)){ $tourItem->PassCity = $tourDetail->CLI2_PassCity; }else{ $tourItem->PassCity = ""; } //天数 if (isset($tourDetail->CLI2_PassCity)){ $tourItem->Days = $tourDetail->CLI_Days; }else{ $tourItem->Days = 0; } $resultJson[] = $tourItem; } } return $resultJson; } /** * 获取对应编码的线路信息 */ function getTourDetail($clino){ $sql = " SELECT top 1 CLI_LineType ,CLI_PackageClass,CLI_SN,CLI2_PassCity,CLI_Days FROM CustomerLineInfo INNER JOIN CustomerLineInfo2 ON CustomerLineInfo.CLI_SN = CustomerLineInfo2.CLI2_CLI_SN WHERE (CLI_DEI_SN=".$this->dei_sn.") AND (CLI_State = 1005004) AND (CLI2_LGC = ".$this->CTLGC.") and isnull(CustomerLineInfo2.DeleteFlag,0)=0 and CLI_NO = ? "; $query =$this->HT->query($sql,array($clino)); if ($query->num_rows() > 0) { return $query->row(); }else{ return null; } } } /* End of file Api_model.php */