拍拍搜索功能最后一步我们追加系统需要的API到系统vendar

优采云 发布时间: 2021-08-21 23:23

  拍拍搜索功能最后一步我们追加系统需要的API到系统vendar

  wego是一个很不错的导购系统,无论前后台设计风格和功能都不错,但是有时候我们确实需要一些自定义功能,毕竟千千万万个世界,每个人都做同样的事情,采集同样的数据会不会很烦人?哈哈,今天专门给wego一个插件来拍采集。虽然有瑕疵,但希望和大家一起改进。做拍拍推广,需要注册一些账号信息,主要是腾讯开放平台应用和易推广ID,我要-热门购物平台就是用这个方法调用数据的。

  

  发起人 ID 是发起人身份的唯一编号,因此您不能弄错。其次,我们需要在腾讯开放平台上创建我们的应用,并获得CPS调用权限。

  

  接下来,我们来完成函数的实现。既然是插件,就需要配置。我们先完成配置。

  

  

  

  配置完成了,但是后台功能,我们还没实现,别着急,马上附上代码,只附上有用的,如果你觉得可以马上替换,可以使用附件本文直接替换,备份前记得替换。

  \admin\Lib\Action\items_collectAction.class.php

  Pap API 设置:

  /**

* @desc 拍拍API

*/

public function paipaiapi(){

$setting_mod = M('setting');

if (isset($_POST['dosubmit'])) {

$paipai['paipai_userid'] = isset($_POST['paipai_userid']) && trim($_POST['paipai_userid']) ? trim($_POST['paipai_userid']) : $this->error('请填写userid');

$paipai['paipai_appoauthid'] = isset($_POST['paipai_appoauthid']) && trim($_POST['paipai_appoauthid']) ? trim($_POST['paipai_appoauthid']) : $this->error('请填写appoauthid');

$paipai['paipai_appoauthkey'] = isset($_POST['paipai_appoauthkey']) && trim($_POST['paipai_appoauthkey']) ? trim($_POST['paipai_appoauthkey']) : $this->error('请填写appoauthkey');

$paipai['paipai_accesstoken'] = isset($_POST['paipai_accesstoken']) && trim($_POST['paipai_accesstoken']) ? trim($_POST['paipai_accesstoken']) : $this->error('请填写accesstoken');

$paipai['paipai_uid'] = isset($_POST['paipai_uid']) && trim($_POST['paipai_uid']) ? trim($_POST['paipai_uid']) : $this->error('请填写uid');

foreach( $paipai as $key=>$val ){

$setting_mod->where("name='$key'")->save(array('data'=>$val));

}

$this->success('修改成功', U('items_collect/paipaiapi'));

}

$res = $setting_mod->where("name='paipai_userid' OR name='paipai_appoauthid' OR name='paipai_appoauthkey' OR name='paipai_accesstoken' OR name='paipai_uid'")->select();

foreach( $res as $val ){

$paipaiset[$val['name']] = $val['data'];

}

$this->assign('paipai',$paipaiset);

$this->display();

}

  //拍拍秒数据采集入库

private function paipai_collect_insert($item,$cate_id){

$items_mod=D('items');

$items_tags_mod=D('items_tags');

$items_tags_item_mod=D('items_tags_item');

//需要判断商品是否已经存在

$isset=$items_mod->where("item_key='".$item['item_key']."'")->getField('id');

if($isset){

return;

}

$add_time=time();

$item['img']=$item['bigUri'];

$item['simg']=$item['imgUri'];

$item['bimg']=$item['bigUri'];

if($item['popular']==0){

$item['popular']=1;

}

$item_id=$items_mod->add(array(

'title'=>ReplaceKeywords(strip_tags($item['title'])),

'cid'=>$cate_id,

'sid'=>$item['sid'],

'item_key'=>$item['item_key'],

'img'=>$item['img'],

'simg'=>$item['simg'],

'bimg'=>$item['bimg'],

'price'=>$item['price'],

'url'=>$item['tagUrl'],

'likes'=>$item['popular'],

'seller_name'=>$item['nickName'],

'cash_back_rate'=>$item['cvValue'],

'haves'=>1,

'add_time'=>$add_time,

));

//处理标签

$tags = $items_tags_mod->get_tags_by_title(strip_tags($item['title']));

if ($tags) {

$tags = array_unique($tags);

foreach ($tags as $tag) {

$isset_id = $items_tags_mod->where("name='".$tag."'")->getField('id');

if ($isset_id) {

$items_tags_mod->where('id='.$isset_id)->setInc('item_nums'); //如果存在此标签的商品 让item_nums+1

$items_tags_item_mod->add(array(

'item_id' => $item_id,

'tag_id' => $isset_id

));

} else {

$tag_id = $items_tags_mod->add(array('name'=>$tag));

$items_tags_item_mod->add(array(

'item_id' => $item_id,

'tag_id' => $tag_id

));

}

}

}

}

  public function collect()

{

if(isset($_REQUEST['dosubmit'])){

$cate=implode(',',$_REQUEST['cate']);

header("location:".U('items_collect/taobao_batch_collect_jump?act=batch&cate='.$cate));

exit;

}

$code = isset($_REQUEST['code']) ? trim($_REQUEST['code']) : $this->error('参数错误');

$items_cate_mod = D('items_cate');

switch ($code) {

case 'taobao':

$res=get_items_cate_list();

$this->assign('items_cate_list', $res['sort_list']);

break;

case 'miao':

$res=get_items_cate_list('0','0','1','collect_miao');

$this->assign('items_cate_list', $res['sort_list']);

break;

case "paipai":

$this->error("暂不支持此功能。");

break;

}

$this->assign('code',$code);

$this->display();

}

  //分类采集

public function cate_collect()

{

if(isset($_REQUEST['dosubmit'])){

$cate=implode(',',$_REQUEST['cate']);

header("location:".U('items_collect/taobao_batch_collect_jump?act=batch&cate='.$cate));

exit;

}

$code = isset($_REQUEST['code']) ? trim($_REQUEST['code']) : $this->error('参数错误');

$items_cate_mod = D('items_cate');

switch ($code) {

case 'taobao':

$items_cate_mod = D('items_cate');

$taocate=$this->get_taocats();

$this->assign('cate_list', $taocate);

break;

case 'miao':

$items_cate_mod = D('items_cate');

$miaocate=$this->get_miaocats();

$this->assign('cate_list', $miaocate);

break;

case "paipai":

$items_cate_mod = D('items_cate');

$paipaicate=$this->get_paipaicats();

break;

}

$this->assign('code',$code);

$this->display();

}

   /**

* @desc 获取拍拍分类

*/

private function get_paipaicats($cid){

//$paipai_api=$this->paipai_client();

//$paipai_api->setApiPath("/deal/sellerSearchDealList.xhtml")

//exit;

return null;

}

  巴掌搜索功能

  public function search_paipai(){

$_GET=setFormString($_GET);

$keyword = isset($_GET['keyword']) && trim($_GET['keyword']) ? trim($_GET['keyword']) : '';

$pages = isset($_GET['pages']) && intval($_GET['pages']) ? intval($_GET['pages']) : 1;

$p=isset($_GET['p'])?$_GET['p']:1;

$start_price=$_GET['begPrice'];

$end_price=$_GET['endPrice'];

//获取此商品对应的商家sid

$items_cate_mod = D('items_cate');

$items_site_mod = D('items_site');

$paipai_api = $this->paipai_client(); //获取59秒api设置信息

$paipai_api->setApiPath("/cps/cpsCommSearch.xhtml");//这个是用户需要调用的 接口函数

$paipai_api->setMethod("get");//post

$paipai_api->setCharset("utf-8");//gbk

$paipai_api->setFormat("json");//gbk

!empty($_GET['begPrice'])&&$params['begPrice']=$_GET['begPrice'];

!empty($_GET['endPrice'])&&$params['endPrice']=$_GET['endPrice'];

!empty($_GET['keyWord'])&&$params['keyWord']=$_GET['keyWord'];

!empty($_GET['pageSize'])&&$params['pageSize']=$_GET['pageSize'];

!empty($_GET['degree'])&&$params['degree']=$_GET['degree'];

!empty($_GET['saleType'])&&$params['saleType']=$_GET['saleType'];

//填写推广者ID

$params['userId']=$this->setting['paipai_userid'];

$paipai_api->setParams($params);

$data=$paipai_api->invoke();

if(!$data||$data->CpsCommSearchResult->errorCode!=0)

return;

$data=json_decode($data);

$goods_list= $data->CpsCommSearchResult->vecComm;

$goods_list_s = array();

foreach ($goods_list as $val){

$val->price=doubleval(($val->price/100));

$val->cvValue=doubleval(($val->cvValue/10000));

$goods_list_s[$val->itemId]=get_object_vars_final($val);

}

//每次保存

count($goods_list_s)>0 && F('goods_list_paipai',$goods_list_s);

$this->assign('list', $goods_list_s);

$this->display();

}

  /**

* @desc 拍拍数据发布

*/

public function publishpaipai(){

$ids=$_GET['ids'];

if(isset($_POST['dosubmit'])){

//从缓存中获取本页商品数据

$items_cate_mod = D('items_cate');

$ids=$_POST['ids'];

$ids_arr = explode(',', $ids);

$cate_id=$_POST['cid'];

$goods_list_s = F('goods_list_paipai');

$items_site_mod = D('items_site');

$sid = $items_site_mod->where("alias='paipai'")->getField('id');

$items_nums = 0;

foreach ($goods_list_s as $key => $val) {

if (in_array($key,$ids_arr)) {

$val['item_key'] = 'paipai_'.$val['itemId'];

$val['sid'] = $sid;

$this->paipai_collect_insert($val,$cate_id); //数据入库

$items_nums++;

}

}

if ($items_nums>0) {

$items_cate_mod->where('id='.$cate_id)->setInc('item_nums', $items_nums);

}

$this->collect_success('采集完成', '', 'collect');

}else{

$items_cate_mod = D('items_cate');

$cate_list=$items_cate_mod->get_top2_list();

$this->assign('cate_list', $cate_list);

$this->assign('ids',$ids);

}

$this->display();

}

  最后一步我们将系统需要的API添加到系统vendar库中:\includes\thinkphp\Extend\Vendor\apipaipai

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线