优化读取汉特产品数据的接口,做到多个站点公用。为今年搬迁其它小网站做好准备。

master
赵鹏 1 year ago
parent a4e348c3b3
commit 5147762fbe

@ -1,5 +1,6 @@
<?php
use function GuzzleHttp\json_decode;
defined('BASEPATH') OR exit('No direct script access allowed');
@ -10,6 +11,8 @@ class Api extends CI_Controller {
$this->load->model('api_model');
$this->load->library('Currency');
//获取调用网站数据
$this->getWebData();
}
var $imageCdn = "//images.chinatravel.com";//有些HT绑定图片需要加cdn
@ -43,8 +46,8 @@ class Api extends CI_Controller {
}
$result["status"]="ok";
$price = $this->api_model->getDaytripsPrice($pagecode,$personnum);
$PKP_AdultSpecialPrice = $price->PKP_AdultSpecialPrice;
$PKP_AdultPrice = $price->PKP_AdultPrice;
$PKP_AdultSpecialPrice = isset($price->PKP_AdultSpecialPrice)?$price->PKP_AdultSpecialPrice:0;
$PKP_AdultPrice = isset($price->PKP_AdultPrice)?$price->PKP_AdultPrice:0;
if ($PKP_AdultPrice!=$PKP_AdultSpecialPrice && $PKP_AdultSpecialPrice>0){
$result["price"] = $this->currency->convert_moneny_by_char($PKP_AdultSpecialPrice,"USD");
}else{
@ -218,7 +221,7 @@ class Api extends CI_Controller {
$param = $_GET["param"];
$result["status"]="ok";
$tour = $this->api_model->getCliSn($param);
$CLI_SN = $tour->CLI_SN;
$CLI_SN = isset($tour->CLI_SN)?$tour->CLI_SN:0;
if (!empty($CLI_SN)){
$result["clisn"]=$CLI_SN;
}else {
@ -315,6 +318,80 @@ class Api extends CI_Controller {
echo json_encode($result);
}
/**
* 获取是哪个站点调用
*/
public function getWebData(){
$chinatravel = [
'dei_sn' => '17',
'LGC' =>'104',
'WebCode'=>'chinatravel',
'WebUrl'=>'www.chinatravel.com',
'WebCdn'=>'data.chinatravel.com',
'imagesUrl'=>'images.chinatravel.com',
];
$shanghai = [
'dei_sn' => '25',
'LGC' =>'107',
'WebCode'=>'shanghai',
'WebUrl'=>'www.shanghaihighlights.com',
'WebCdn'=>'data.shanghaihighlights.com',
'imagesUrl'=>'images.shanghaihighlights.com',
];
$beijing = [
'dei_sn' => '26',
'LGC' =>'106',
'WebCode'=>'beijing',
'WebUrl'=>'www.mybeijingchina.com',
'WebCdn'=>'data.mybeijingchina.com',
'imagesUrl'=>'images.mybeijingchina.com',
];
$trainspread = [
'dei_sn' => '14',
'LGC' =>'1',
'WebCode'=>'trainspread',
'WebUrl'=>'www.trainspread.com',
'WebCdn'=>'data.trainspread.com',
'imagesUrl'=>'images.trainspread.com',
];
$localeMap = [
'chinatravel' => $chinatravel,
'shanghai' => $shanghai,
'beijing' => $beijing,
'trainspread' => $trainspread,
];
if (isset($_GET["webcode"])){
$WebCode = $_GET["webcode"];
}else{
$WebCode = "chinatravel"; //默认读取ct站的数据
}
if (!isset($localeMap[$WebCode])){
$WebCode = "chinatravel" ; //如果传递的站点编码找不到对应数据也默认为ct站
}
//根据各站点信息赋值model
$this->api_model->dei_sn = $localeMap[$WebCode]["dei_sn"];
$this->api_model->CTLGC = $localeMap[$WebCode]["LGC"];
$this->api_model->WebCode = $localeMap[$WebCode]["WebCode"];
$this->api_model->WebUrl = $localeMap[$WebCode]["WebUrl"];
$this->api_model->WebCdn = $localeMap[$WebCode]["WebCdn"];
$this->api_model->imagesUrl = $localeMap[$WebCode]["imagesUrl"];
//print_r($localeMap[$WebCode]);
}
}
/* End of file Api.php */

@ -14,6 +14,10 @@ class Api_model extends CI_Model {
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获取对应人数的成人价格
@ -182,7 +186,7 @@ class Api_model extends CI_Model {
)) AS code
FROM information_ct.dbo.infoContents
INNER JOIN information_ct.dbo.infoStructures ON ic_id = is_ic_id
WHERE is_sitecode = 'chinatravel'".$whereInfo."
WHERE is_sitecode = '".$this->WebCode."'".$whereInfo."
AND ic_status = 1
))
AND (isnull(P1.DeleteFlag,0) <>1) ".$whereHT."
@ -198,7 +202,7 @@ class Api_model extends CI_Model {
,'1' as sortby
FROM information_ct.dbo.infoContents
inner join information_ct.dbo.infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel' ".$whereInfo."
WHERE is_sitecode='".$this->WebCode."' ".$whereInfo."
and ic_status=1
) as t
) tball
@ -297,7 +301,7 @@ class Api_model extends CI_Model {
,'2' as sortby , is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel'
WHERE is_sitecode='".$this->WebCode."'
and ic_status=1
and ic_url like ?
and is_parent_id <> ?
@ -309,7 +313,7 @@ class Api_model extends CI_Model {
,'1' as sortby ,is_sort
FROM dbo.infoContents
inner join infoStructures on ic_id=is_ic_id
WHERE is_sitecode='chinatravel'
WHERE is_sitecode='".$this->WebCode."'
and ic_status=1
and is_parent_id = ?
) allbt
@ -424,16 +428,16 @@ class Api_model extends CI_Model {
//根据图片URL判断CDN的地址
function getPicCdn($picurl){
$strCdn ="";
if (strpos($picurl,"chinatravel.com")!== false) {
if (strpos($picurl,$this->WebUrl)!== false) {
$strCdn="";
} else if (strpos($picurl,"allpicture")!== false){
$strCdn = "//images.chinatravel.com";
$strCdn = "//".$this->imagesUrl ;
}else if (strpos($picurl,"/album/userupload/")!== false){
$strCdn = "//data.chinatravel.com";
$strCdn = "//".$this->WebCdn ;
}else if (strpos($picurl,"/images/")!== false) {
$strCdn = "//data.chinatravel.com";
$strCdn = "//".$this->WebCdn;
}else{
$strCdn = "//images.chinatravel.com";
$strCdn = "//".$this->imagesUrl;
}
return $strCdn;
}
@ -459,7 +463,7 @@ class Api_model extends CI_Model {
FROM infoContents icNew
,infoContents icOld
WHERE icNew.ic_id = ?
AND icNew.ic_sitecode = 'chinatravel'
AND icNew.ic_sitecode = '".$this->WebCode."'
AND icOld.ic_url = ?
AND icOld.ic_sitecode = 'ct'";

Loading…
Cancel
Save