diff --git a/application/controllers/infobokundata.php b/application/controllers/infobokundata.php
index 9fe6a497..bdb5ca42 100644
--- a/application/controllers/infobokundata.php
+++ b/application/controllers/infobokundata.php
@@ -23,9 +23,34 @@ class InfoBokunData extends CI_Controller
$data["list"] = $list;
$this->load->view("/trippest/infobokundata", $data);
} else {
- header('Cache-Control: no-cache');
- echo "找不到对应信息!";
- return false;
+ if ($ic_id > 0) {
+ $newBokun = new stdClass(); //如果是cht的产品,构建一个bokun属性,这样可以使用bokun的管理界面添加图片等属性。
+ $newBokun->ibd_id = 0;
+ $newBokun->ibd_ic_id = $ic_id;
+ $newBokun->ibd_parentId = 0;
+ $newBokun->ibd_ItemName = "ActivityID";
+ $newBokun->ibd_Itemvalue = "0";
+ $newBokun->ibd_ItemType = "";
+ $newBokun->ibd_ItemDescription = "";
+ $list[] = $newBokun;
+ $data["list"] = $list;
+
+ /**初始化一条bokun activityId的属性 */
+ $this->InfoBokunData_model->ibd_ic_id = $ic_id;
+ $this->InfoBokunData_model->ibd_parentId = 0;
+ $this->InfoBokunData_model->ibd_ItemName = "ActivityID";
+ $this->InfoBokunData_model->ibd_Itemvalue = "0";
+ $this->InfoBokunData_model->ibd_ItemType = "";
+ $this->InfoBokunData_model->ibd_ItemDescription = "";
+ $this->InfoBokunData_model->Add();
+
+ //调用视图
+ $this->load->view("/trippest/infobokundata", $data);
+ } else {
+ header('Cache-Control: no-cache');
+ echo "找不到对应信息!";
+ return;
+ }
}
}
@@ -62,14 +87,15 @@ class InfoBokunData extends CI_Controller
return true;
}
- function add_meta(){
- $ibd_ic_id=$this->input->post('ibd_ic_id');
- $ibd_parentId=$this->input->post('ibd_parentId');
- $ibd_ItemName=$this->input->post('ibd_ItemName');
- $ibd_Itemvalue=$this->input->post('ibd_Itemvalue');
- $ibd_ItemType=$this->input->post('ibd_ItemType');
- $ibd_ItemDescription=$this->input->post('ibd_ItemDescription');
- if($ibd_ic_id && $ibd_ItemName){
+ function add_meta()
+ {
+ $ibd_ic_id = $this->input->post('ibd_ic_id');
+ $ibd_parentId = $this->input->post('ibd_parentId');
+ $ibd_ItemName = $this->input->post('ibd_ItemName');
+ $ibd_Itemvalue = $this->input->post('ibd_Itemvalue');
+ $ibd_ItemType = $this->input->post('ibd_ItemType');
+ $ibd_ItemDescription = $this->input->post('ibd_ItemDescription');
+ if ($ibd_ic_id && $ibd_ItemName) {
$this->InfoBokunData_model->ibd_ic_id = $ibd_ic_id;
$this->InfoBokunData_model->ibd_parentId = $ibd_parentId;
$this->InfoBokunData_model->ibd_ItemName = $ibd_ItemName;
@@ -78,12 +104,11 @@ class InfoBokunData extends CI_Controller
$this->InfoBokunData_model->ibd_ItemDescription = $ibd_ItemDescription;
$this->InfoBokunData_model->Add();
$data[] = array('name' => 'ok', 'value' => $this->lang->line('media_save_success'));
- }else{
+ } else {
$data[] = array('name' => 'no', 'value' => $this->lang->line('media_save_error'));
}
echo json_encode($data);
return true;
-
}
}
diff --git a/application/third_party/tpmanage/controllers/webgetbokun.php b/application/third_party/tpmanage/controllers/webgetbokun.php
index 00153659..50600e8f 100644
--- a/application/third_party/tpmanage/controllers/webgetbokun.php
+++ b/application/third_party/tpmanage/controllers/webgetbokun.php
@@ -59,9 +59,9 @@ class webgetbokun extends CI_Controller
//1.根据城市名称获取对应的is_id作为 父类ID
$is_id = $this->get_isid_byCity($CityName);
- if ($is_id == 0){
- return ;
- }
+ if ($is_id == 0) {
+ return;
+ }
//2.根据$activityid 抓取接口数据
$activityDeatil = json_decode($this->bokun_lib->get_activity_detail($activityid));
@@ -88,11 +88,11 @@ class webgetbokun extends CI_Controller
foreach ($arrContent as $ContentItem) {
$strTemp = "";
$strDay = "";
- if ($ContentItem->day!=1){
- $strDay = "(day ".$ContentItem->day.")";
+ if ($ContentItem->day != 1) {
+ $strDay = "(day " . $ContentItem->day . ")";
}
if ($ContentItem->title != "") {
- $strTemp .= "
" . $ContentItem->title.$strDay. "
";
+ $strTemp .= "" . $ContentItem->title . $strDay . "
";
}
if ($ContentItem->body != "") {
$strTemp .= $ContentItem->body;
@@ -137,12 +137,11 @@ class webgetbokun extends CI_Controller
//先旧的infometa表
$tempRequireFileds = $activityDeatil->requiredCustomerFields; //根据抓取的需求字段,判断是否需要passport
if (is_array($tempRequireFileds)) {
- if (is_array($tempRequireFileds[0])){
+ if (is_array($tempRequireFileds[0])) {
if (in_array("passportId", $tempRequireFileds[0])) {
$this->tpBokun_model->addMeta($ic_id, "meta_trippest_type", "gg");
}
}
-
}
$this->tpBokun_model->addMeta($ic_id, "meta_product_code", $PAG_Code); //对应翰特编码
$this->tpBokun_model->addMeta($ic_id, "meta_facts_city", $activityDeatil->googlePlace->city); //保存一下具体城市
@@ -154,12 +153,12 @@ class webgetbokun extends CI_Controller
$this->InfoBokunData_model->ibd_Itemvalue = $activityid;
$ibd_id = $this->InfoBokunData_model->Add();
- if ($this->InfoBokunData_model->ibd_ItemName == "ActivityID"){
+ if ($this->InfoBokunData_model->ibd_ItemName == "ActivityID") {
$this->InfoBokunData_model->ibd_parentId = 0;
- }else{
+ } else {
$this->InfoBokunData_model->ibd_parentId = $ibd_id; //设置剩余的属性都是这个activityid的子类,避免每条记录都保存activityid
}
- if (isset($activityDeatil->keyPhoto)){
+ if (isset($activityDeatil->keyPhoto)) {
$this->InfoBokunData_model->ibd_ItemName = "keyPhoto"; //主要图片
$this->InfoBokunData_model->ibd_Itemvalue = $activityDeatil->keyPhoto->originalUrl;
$this->InfoBokunData_model->ibd_ItemType = "originalUrl";
@@ -248,13 +247,13 @@ class webgetbokun extends CI_Controller
$arrAgendaItems = $activityDeatil->agendaItems; //保存产品行程里面的派生图片
if (is_array($arrAgendaItems)) {
foreach ($arrAgendaItems as $agendaItem) {
- if (isset($agendaItem->keyPhoto)){
+ if (isset($agendaItem->keyPhoto)) {
if ($agendaItem->keyPhoto != null && $agendaItem->keyPhoto != "") {
$this->InfoBokunData_model->ibd_ItemName = "AgendaPhoto";
$this->InfoBokunData_model->ibd_Itemvalue = $agendaItem->keyPhoto->originalUrl;
- if (isset($$agendaItem->keyPhoto->description)){
+ if (isset($$agendaItem->keyPhoto->description)) {
$this->InfoBokunData_model->ibd_ItemDescription = $$agendaItem->keyPhoto->description;
- }
+ }
$this->InfoBokunData_model->ibd_ItemType = "originalUrl";
$this->InfoBokunData_model->Add();
}
@@ -267,10 +266,10 @@ class webgetbokun extends CI_Controller
$this->InfoBokunData_model->ibd_ItemName = "AgendaPhoto";
$this->InfoBokunData_model->ibd_Itemvalue = $agendaPhotoItem->originalUrl;
$this->InfoBokunData_model->ibd_ItemType = "originalUrl";
- if (isset($agendaPhotoItem->description)){
+ if (isset($agendaPhotoItem->description)) {
$this->InfoBokunData_model->ibd_ItemDescription = $agendaPhotoItem->description;
}
-
+
$this->InfoBokunData_model->Add();
}
}
@@ -301,7 +300,7 @@ class webgetbokun extends CI_Controller
if (isset($row)) {
$result = $row->is_id;
} else {
- $result = 0 ; //$this->tpBokun_model->is_topId;
+ $result = 0; //$this->tpBokun_model->is_topId;
}
return $result;
}
@@ -331,9 +330,9 @@ class webgetbokun extends CI_Controller
}
}
if ($str_return != "") {
- echo "新城市添加:" . $str_return."\r\n";
+ echo "新城市添加:" . $str_return . "\r\n";
} else {
- echo "没有新的城市"."\r\n";
+ echo "没有新的城市" . "\r\n";
}
}
@@ -419,7 +418,7 @@ class webgetbokun extends CI_Controller
$PassParam["checkCode"] = $checkCode;
$strPass = base64_encode(json_encode($PassParam));
$this->addActivity($strPass);
- echo "\r\n" ;
+ echo "\r\n";
}
}
}
@@ -434,67 +433,142 @@ class webgetbokun extends CI_Controller
/** 这里是在cht的信息平台运行的接口 */
/**
- * @description: 获取CH那边的产品生成接口数据
+ * @description: CH那边的产品生成接口数据
* @param {type}
* @return:
* @Date Changed:
*/
- function getChtTours($strcity=""){
- if ($strcity==""){
+ function getChtTours($strcity = "")
+ {
+ if ($strcity == "") {
$strcity = "beijing,guilin,chengdu,shanghai,xian,zhangjiajie,huangshan,yunnan";
}
$result = array();
//城市解析
- $arrCity = explode(",",$strcity);
+ $arrCity = explode(",", $strcity);
$strParam = "";
- foreach ($arrCity as $city){
- $strParam.="'/day-tours/".strtolower(str_replace(" ","-",$city))."/',";
+ foreach ($arrCity as $city) {
+ $strParam .= "'/day-tours/" . strtolower(str_replace(" ", "-", $city)) . "/',";
}
- $strParam = trim($strParam,",");
+ $strParam = trim($strParam, ",");
//$strParam = "'/beijing/','/shanghai/'"; //本地测试
//传递
$list = $this->tpBokun_model->getChtTours($strParam);
- if ($list){
+ if ($list) {
- foreach ($list as $Item){
+ foreach ($list as $Item) {
$data["city"] = $Item->city;
- $data["ic_id"]=$Item->ic_id;
- $data["ic_url"]=$Item->ic_url;
- $data["ic_title"]=$Item->ic_title;
- $data["ic_url_title"]=$Item->ic_url_title;
+ $data["ic_id"] = $Item->ic_id;
+ $data["ic_url"] = $Item->ic_url;
+ $data["ic_title"] = $Item->ic_title;
+ $data["ic_url_title"] = $Item->ic_url_title;
$data["ic_content"] = $Item->ic_content;
$data["ic_summary"] = $Item->ic_summary;
$data["ic_seo_title"] = $Item->ic_seo_title;
$data["ic_seo_description"] = $Item->ic_seo_description;
$data["ic_seo_keywords"] = $Item->ic_seo_keywords;
- $data["ic_photo"]=$Item->ic_photo;
+ $data["ic_photo"] = $Item->ic_photo;
//meta属性
$listmeta = $this->tpBokun_model->getChtToursMeta($Item->ic_id);
- if ($listmeta){
+ if ($listmeta) {
$arrmeta = array();
- foreach($listmeta as $meta){
- $MetaData["im_key"]=$meta->im_key;
- $MetaData["im_value"]=$meta->im_value;
- $arrmeta[]=$MetaData;
+ foreach ($listmeta as $meta) {
+ $MetaData["im_key"] = $meta->im_key;
+ $MetaData["im_value"] = $meta->im_value;
+ $arrmeta[] = $MetaData;
}
- if ($arrmeta){
- $data["meta"]=$arrmeta;
+ if ($arrmeta) {
+ $data["meta"] = $arrmeta;
}
-
}
- $result[]=$data;
+ $result[] = $data;
}
-
}
- if ($result){
- echo json_encode($result);
- }else{
- echo json_encode(array("status"=>"none","param"=>$strParam));
+ if ($result) {
+ echo json_encode($result);
+ } else {
+ echo json_encode(array("status" => "none", "param" => $strParam));
+ }
+ }
+
+
+ function CurlCHTTours($city = "")
+ {
+ $url = "https://cht.mycht.cn/info.php/thirdparty/tpmanage/webgetbokun/getChtTours/";
+ if ($city != "") {
+ $url = $url . strtolower(str_replace(" ", "-", $city)) . "/";
}
-
+ $str = $this->tpBokun_model->getCrulData($url); //抓取cht的数据
+ $chtData = json_decode($str);
+ if (is_array($chtData) && count($chtData) > 0) {
+ //导入开始
+ foreach ($chtData as $chtItem) {
+ // echo ($chtItem->city.",".$chtItem->ic_title."\n\r");
+ //判断重复
+ if ($this->tpBokun_model->checkChtTours($chtItem->ic_url_title)) {
+ echo "已存在:" .$chtItem->ic_url_title. "\r\n";
+ continue;
+ }
+
+ //开始导入
+ //1.根据城市名称获取对应的is_id作为 父类ID
+ $chtCity = str_replace("'", "", str_replace(' ', '-', strtolower($chtItem->city)));
+ $is_id = $this->get_isid_byCity($chtCity);
+ if ($is_id == 0) {
+ continue; //找不到对应城市跳过
+ }
+
+ $ic_url = $chtItem->ic_url; //根据原来的URL替换成新的URL
+ $ic_url = str_replace("/day-tours/" . $chtCity . "/", "/" . $chtCity . "-tours/", $ic_url);
+ $ic_url = str_replace(".htm", "/", $ic_url);
+
+ $this->tpBokun_model->ic_url = $ic_url;
+
+ $this->tpBokun_model->ic_url_title = $chtItem->ic_url_title;
+ $this->tpBokun_model->ic_title = $chtItem->ic_title;
+ $this->tpBokun_model->ic_content = $chtItem->ic_content;
+ $this->tpBokun_model->ic_summary = $chtItem->ic_summary;
+ $this->tpBokun_model->ic_seo_title = $chtItem->ic_seo_title;
+ $this->tpBokun_model->ic_seo_description = $chtItem->ic_seo_description;
+ $this->tpBokun_model->ic_seo_keywords = $chtItem->ic_seo_keywords;
+ $this->tpBokun_model->ic_photo = $chtItem->ic_photo;
+ $this->tpBokun_model->ic_status = 1;
+
+ //保存信息表
+ $tempData = json_decode($this->tpBokun_model->addInfo($is_id));
+ if (is_array($tempData)) {
+ $ic_id = $tempData[0]->value->ic_id;
+ } else {
+ $result["status"] = "error";
+ echo json_encode($result);
+ continue;
+ }
+
+ //保存meta表
+ if ($ic_id > 0) {
+ $metalist = $chtItem->meta;
+ if ($metalist) {
+ foreach ($metalist as $metaItem) {
+ $this->tpBokun_model->addMeta($ic_id, $metaItem->im_key, $metaItem->im_value); //循环导入原来的meta
+ }
+ }
+ }
+
+ $result["status"] = "ok";
+ $result["ic_id"] = $ic_id;
+ echo json_encode($result);
+ echo "\r\n";
+ }
+ echo "数据导入完成 \r\n";
+ } else {
+ echo "接口数据读取错误!";
+ }
+
+ //print_r(json_decode($str));
+ // echo $str;
}
}
diff --git a/application/third_party/tpmanage/models/tpBokun_model.php b/application/third_party/tpmanage/models/tpBokun_model.php
index 5a3961bd..f5ec1d4a 100644
--- a/application/third_party/tpmanage/models/tpBokun_model.php
+++ b/application/third_party/tpmanage/models/tpBokun_model.php
@@ -50,6 +50,22 @@ class TpBokun_model extends CI_Model
return json_encode($result);
}
+ /**
+ * @description: 通过链接标题判断CHT的产品是否已经导入
+ * @param {type}
+ * @return:
+ * @Date Changed:
+ */
+ function checkChtTours($ic_url_title){
+ $sql = "select top 1 * from infoContents where ic_url_title = ?";
+ $query = $this->HT->query($sql,array($ic_url_title));
+ if ($query->num_rows()>0){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
/**
diff --git a/application/views/trippest/infobokundata.php b/application/views/trippest/infobokundata.php
index 4bc4a9ae..54423095 100644
--- a/application/views/trippest/infobokundata.php
+++ b/application/views/trippest/infobokundata.php
@@ -63,9 +63,9 @@
?>
-
+
-
+