从CH导入TP产品功能完成。

mobile-first
赵鹏 5 years ago
parent 2fd344932a
commit 81868638a9

@ -22,10 +22,35 @@ class InfoBokunData extends CI_Controller
if ($list) {
$data["list"] = $list;
$this->load->view("/trippest/infobokundata", $data);
} else {
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 false;
return;
}
}
}
@ -62,7 +87,8 @@ class InfoBokunData extends CI_Controller
return true;
}
function add_meta(){
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');
@ -83,7 +109,6 @@ class InfoBokunData extends CI_Controller
}
echo json_encode($data);
return true;
}
}

@ -142,7 +142,6 @@ class webgetbokun extends CI_Controller
$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); //保存一下具体城市
@ -434,12 +433,13 @@ class webgetbokun extends CI_Controller
/** 这里是在cht的信息平台运行的接口 */
/**
* @description: 获取CH那边的产品生成接口数据
* @description: CH那边的产品生成接口数据
* @param {type}
* @return:
* @Date Changed:
*/
function getChtTours($strcity=""){
function getChtTours($strcity = "")
{
if ($strcity == "") {
$strcity = "beijing,guilin,chengdu,shanghai,xian,zhangjiajie,huangshan,yunnan";
}
@ -482,19 +482,93 @@ class webgetbokun extends CI_Controller
if ($arrmeta) {
$data["meta"] = $arrmeta;
}
}
$result[] = $data;
}
}
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;
}
}

@ -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;
}
}
/**

@ -63,9 +63,9 @@
?>
<div class="col-sm=20 box">
<div class="item">
<label>ActivityID:<?php echo $ibd_ItemValue ?>(不能修改bokun的产品ID)</label>&nbsp;&nbsp;
<label>ActivityID:<?php echo $ibd_ItemValue ?>(不能修改bokun的产品ID,为0是CH产品。)</label>&nbsp;&nbsp;
<label>如果需要增加属性,请点击 <a href="javascript:;" id=“js_AddBokun” onclick="CheckAddBox()">添 加</a></label>
<a href="javascript:void(0);" title="特别注意bokun属性名称是根据接口数据固定的几个比如keyPhoto是产品主要图片。ProductPhoto是产品其它图片."><i class="text-muted glyphicon glyphicon-question-sign"></i></a>
<a href="javascript:void(0);" title="特别注意bokun属性名称是根据接口数据固定的几个比如keyPhoto是产品主要图片。ProductPhoto是产品其它图片. 图片的Type属性类型只能是 originalUrllargepreviewthumbnail这四种类型。"><i class="text-muted glyphicon glyphicon-question-sign"></i></a>
</div>
<div class="item" id="js_AddBokunBox" style="display:none;">
<div class="row">
@ -85,7 +85,8 @@
<option value="ProductPhoto">ProductPhoto</option>
</select>
</div>
<div class="col-sm-6"><input name="ibd_ItemType" id="ibd_ItemType" type="text" class="form-control" value="" placeholder="Type属性类型"></div>
<div class="col-sm-6"><input name="ibd_ItemType" id="ibd_ItemType" type="text" class="form-control" value="" placeholder="Type属性类型">
</div>
<div class="col-sm-6"><input name="ibd_ItemDescription" id="ibd_ItemDescription" type="text" class="form-control" value="" placeholder="description描述"></div>
<div class="col-sm-6">
<a href="javascript:;" class="btn btn-primary" onclick="addmeta($('#ibd_ic_id').val(),$('#ibd_parentId').val(),$('#ibd_ItemName').val(),$('#ibd_Itemvalue').val(),$('#ibd_ItemType').val(),$('#ibd_ItemDescription').val())">保 存</a>

Loading…
Cancel
Save