heyuntao
2023-10-07 f2528a40b631dd4165484b9fce6b5c2708aae5c7
application/api/controller/Taoke.php
@@ -21,13 +21,14 @@
use app\api\logic\Album as LogicAlbum;
use app\api\logic\AlbumFollow as LogicAlbumFollow;
use app\api\logic\Banner as LogicBanner;
use think\log;
/**
 * 淘客接口
 */
class Taoke extends Api
{
    protected $noNeedLogin = ['get_top_class','get_m','get_super_class','get_homemenu','getMQD','get_goods_things','get_talent_info','get_talent_article','get_goods_details','get_similar_info','hot_key','get_jd_detail','get_pdd_single_page','get_wph_detail','suggestion','goods_search','bd_homemenu','city_cate','searchd_deals','seckill_list','identify_goods','tb_goods_list','super_discount_goods','cate_rank_list','get_album_list','like_album','album_detail','get_dy_detail'];
    protected $noNeedLogin = ['get_hdk_category_list','get_top_class','get_m','get_super_class','get_homemenu','getMQD','get_goods_things','get_talent_info','get_talent_article','get_goods_details','get_similar_info','hot_key','get_jd_detail','get_pdd_single_page','get_wph_detail','suggestion','goods_search','bd_homemenu','city_cate','searchd_deals','seckill_list','identify_goods','tb_goods_list','super_discount_goods','cate_rank_list','get_album_list','like_album','album_detail','get_dy_detail'];
    protected $noNeedRight = '*';
   
@@ -66,6 +67,18 @@
        $this->success('获取成功',$info);
    }
  /**
     * 获取好单库单页类目列表
     *
     *
     */
    public function get_hdk_category_list()
    {
        $type = request()->param('type',4);
        $LogicHaodanku=new LogicHaodanku();
        $list=$LogicHaodanku->getCateList($type);
        $this->success('获取成功',['list'=>$list]);
    }
    /**
     * 获取超级分类
@@ -77,6 +90,23 @@
        $LogicSuperClass = new LogicSuperClass();
        $list = $LogicSuperClass->getList();
        $this->success('获取成功',['list'=>$list]);
    }
     /**
     * 获取朋友圈素材
     *
     * @return void
     */
    public function friends_circle_list()
    {
        $page = request()->param('pageId');
        $pageSize = request()->param('pageSize');
        $cid = request()->param('cid');
        $sort = request()->param('sort');
        $LogicDataoke = new LogicDataoke();
        $list = $LogicDataoke->getFriendscircles($page,$pageSize,$cid,$sort);
        $this->success('获取成功',['list'=>$list]);
    }
    
@@ -169,9 +199,13 @@
            break; 
            case 5: //热推榜
                $LogicDataoke = new LogicDataoke();
                $list = $LogicDataoke->getRank(3,'',$page,$page_size);
                $list = $LogicDataoke->getRank(8,'',$page,$page_size);
                //$list = $LogicDingdanxia->wphGoodsList('',1,$page,$page_size,0);
            break;
            break;
             case 6: //抖音
                 $LogicHaodanku = new LogicHaodanku();
                $list = $LogicHaodanku->getDygoodsList('','','',$page,$page_size);
            break;
        }
        $this->success('获取成功',['list'=>$list]);
    }
@@ -285,10 +319,17 @@
            case 4: //抖音
                $LogicHaodanku = new LogicHaodanku();
                $info = $LogicHaodanku->idPrivilege($goods_id,$common_relation_id);
      $info['dy_deeplink'] = $info['dy_zlink'];
                if(!empty($info['dy_zlink']))
                {
                    $info['dy_deeplink'] = $info['dy_zlink'];
                }
                else{
                    $info['dy_zlink']=$info['detail_url'];
                }
            break;  
        }
        if($info === false) $this->error('转链失败');
        $this->success('获取成功',['info'=>$info]);
@@ -304,9 +345,13 @@
        if(empty($goods_id)) $this->error('商品id不能为空');
        $LogicHaodanku = new LogicHaodanku();
        // $LogicHaodanku = new LogicHaodanku();
        $list = $LogicHaodanku->getSimilarInfo($goods_id,10);
        // $list = $LogicHaodanku->getSimilarInfo($goods_id,10);
        $LogicDataoke=new LogicDataoke();
        $list=$LogicDataoke->getSimilarInfo($goods_id,10);
        if($list === false) $this->error($LogicHaodanku->getError());
@@ -353,8 +398,9 @@
        if(empty($goods_sign)) $this->error('商品sign不能为空');
        $LogicPdd = new LogicPdd();
        $info = $LogicPdd->getGoodsDetail($goods_sign);
        $ModelUser = new ModelUser();
        $user = $ModelUser->get(USERID);
        $info = $LogicPdd->getGoodsDetail($goods_sign,true,$user['common_relation_id']);
        if($info === false) $this->error($LogicPdd->getError());
@@ -524,7 +570,8 @@
                $list = $LogicDingdanxia->searchGoods($keyword,$fieldName,$order,$page,$page_size,'wph','w');
                break;
            case 'dy':
                $sort_type = 0;
               $sort_type = 0;
                $catId = request()->param('catid','');
                if($sort != 'renqi'){
                    $sort = explode("_",$sort);
                    if(count($sort) == 2){ //价格
@@ -534,7 +581,7 @@
                    }
                }
                $LogicHaodanku = new LogicHaodanku();
                $list = $LogicHaodanku->getDygoodsList('',$keyword,$sort_type,$page,$page_size);
                $list = $LogicHaodanku->getDygoodsList($catId,$keyword,$sort_type,$page,$page_size);
                break;
        }
@@ -632,12 +679,24 @@
        $page_size = request()->param('pageSize',10);
        if(empty($nineCid)) $this->error('类目id不能为空');
        $plat=request()->param('plat','tb');
        if($plat=='tb'&&empty($nineCid)) $this->error('类目id不能为空');
        $LogicDataoke = new LogicDataoke();
        $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size);
        $list=null;
        switch($plat)
        {
            case 'tb':
                $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size);
                break;
            case 'jd':
                $list = $LogicDataoke->jdNine($page,$page_size);
                break;
            default:
                $list = $LogicDataoke->getOpGoodsList($nineCid,$page,$page_size);
                break;
        }
        if($list === false) $this->error($LogicDataoke->getError());
        $this->success('获取成功',['list'=>$list]);
@@ -664,7 +723,7 @@
        $this->success('获取成功',['list'=>$list]);
    }
    /**
     * 辣妈优选
     */
@@ -832,7 +891,7 @@
         /*---兼容客户端----*/
         $info['wx_qrcode_url'] = $info['we_app_info']['miniCode'];
         $info['app_id'] = $info['we_app_info']['app_id'];
         $info['app_id'] = $info['original_id'];
         $info['wx_miniprogram_path'] = $info['we_app_info']['page_path'];
         $info['click_url'] = $info['h5'];
@@ -1041,8 +1100,15 @@
        $LogicSearch = new LogicSearch();
        $info = $LogicSearch->ast($goods_url);
        if(!empty($info)&&!$info["goodsId"]&&$info["title"]){
            $this->success('获取成功',['goods_url'=>$info["title"],'goods'=>[]]);
        }
        else{
            $this->success('获取成功',['goods_url'=>$goods_url,'goods'=>$info]);
        }
        $this->success('获取成功',['goods_url'=>$goods_url,'goods'=>$info]);
    }
@@ -1055,17 +1121,20 @@
        $subcid = request()->param('subcid','');
       if(empty($cateId) && empty($subcid)) $this->error('分类ID不能为空');
       //if(empty($cateId) && empty($subcid)) $this->error('分类ID不能为空');
        $page = request()->param('page',1);
        $page_size = request()->param('pageSize',10);
        $sort = request()->param('sort',0);
        $tchaoshi=request()->param('tchaoshi',0);
        //二级筛选
        $secrend_search=request()->param('secrend_search',0);
        $LogicDataoke = new LogicDataoke();
        $list = $LogicDataoke->getGoodsList($cateId,$subcid,$sort,$page,$page_size);
        $list = $LogicDataoke->getGoodsList($cateId,$subcid,$sort,$page,$page_size,$tchaoshi,$secrend_search);
        if($list === false) $this->error($LogicDataoke->getError());
@@ -1148,7 +1217,13 @@
                    $info = "";
                }else{
                    $resLink = $LogicHaodanku->idPrivilege($res['goods_id'],$common_relation_id);
                    $info = empty($resLink) ? "" : $resLink['dy_zlink'];
                    if(empty($resLink))
                    {
                        $info ="";
                    }
                    else{
                        $info = empty($resLink['dy_zlink']) ? $resLink['dy_deeplink'] : $resLink['dy_zlink'];
                    }
                }
            break;     
        }
@@ -1288,4 +1363,164 @@
        $this->success('获取成功',['list' => $list]);
    }
    /**
     * 0元购商品列表(调用9.9包邮精选接口,获取3.9元商品)
     *
     * @return void
     */
    public function get_first_free_goods(){
        $page = request()->param('page',1);
        $page_size = request()->param('pageSize',100);
        $LogicDataoke = new LogicDataoke();
        $list = $LogicDataoke->getOpGoodsList(1,$page,$page_size,['6','7','11','12','13']);
        //如果不满足40个,则再取一页
        if(count($list)<40){
            $list2 = $LogicDataoke->getOpGoodsList(1,$page+1,$page_size,['6','7','11','12','13']);
            $list = array_merge($list,$list2);
        }
        if($list === false) $this->error($LogicDataoke->getError());
        foreach($list as $key => $value){
            $list[$key]['fanli'] = $value['actualPrice'];
        }
        $list= array_slice($list, 0, 40);
        $this->success('获取成功',['list'=>$list]);
    }
    /**
     * 抖音0元购商品列表
     *
     * @return void
     */
    public function get_first_free_dy_goods(){
        $page = request()->param('page',1);
        $page_size = request()->param('pageSize',40);
        $LogicHaodanku = new LogicHaodanku();
        $list = $LogicHaodanku->getDyOnebyGood($page,$page_size);
        if($list === false) $this->error($LogicHaodanku->getError());
        $this->success('获取成功',['list'=>$list]);
    }
      /**
     * 京东0元购商品列表
     *
     * @return void
     */
    public function get_first_free_jd_goods()
    {
        $page = request()->param('page',1);
        $page_size = request()->param('pageSize',40);
        $LogicJd = new LogicJd();
        $list = $LogicJd->getNineSift($page,$page_size);
        $this->success('获取成功',['list'=>$list]);
    }
    /**
     * 猜你喜欢
     *
     * @return void
     */
    public function gussess_like_goods()
    {
        $platefrom = request()->param('platefrom','');
        $page = request()->param('pageId',1);
        $page_size = request()->param('pageSize',10);
        $cids= request()->param('cids','');
        $user = $this->auth->getUser();
        $common_relation_id = $user['common_relation_id'];
        $list = [];
        $clist=[];
        $cids = explode(',',$cids);
        $n_count=10;
        if($page<=count($cids)&&count($cids)>0){
            switch($platefrom){
                case 'tb': //淘宝联盟
                    $LogicDataoke = new LogicDataoke();
                    $clist = $LogicDataoke->getGoodsList($cids[$page-1],'',0,$page,$page_size,1,0);
                    break;
                case 'jd': //京东
                    $LogicJd = new LogicJd();
                    $clist = $LogicJd->search_cid_Goods('','desc','','','inOrderCount30Days',1,10,$cids[$page-1]);
                    break;
                case 'pdd': //拼多多
                    $LogicPdd = new LogicPdd();
                    $clist = $LogicPdd->searchGoods('','',$common_relation_id,'',1,10,0,$cids[$page-1]);
                    break;
                case'dy'://抖音
                    $LogicHaodanku = new LogicHaodanku();
                    $clist = $LogicHaodanku->getDygoodsList($cids[$key],'',0,1,10);
                    break;
            }
            $clist=array_slice($clist, 0, 3);
            $n_count=$n_count-count($clist);
        }
        if(empty($platefrom)){
            $platefrom='tb';
        }
        switch($platefrom){
            case "tb": //淘宝联盟
                $LogicTaobaolianmeng = new LogicTaobaolianmeng();
                $list = $LogicTaobaolianmeng->material('6708','','OAID',$page,$page_size);
            break;
            case "jd": //京东
                $LogicJd = new LogicJd();
                $list = $LogicJd->getTodayTop('discountReal',$page,$page_size);
            break;
            case "pdd": //拼多多
                $LogicPdd = new LogicPdd();
                $list = $LogicPdd->dailyExplosion('','[7,10851]',4,$page,$page_size);
                $list = isset($list['list']) ? $list['list'] : [];
            break;
            case "wph": //唯品会
                $LogicDingdanxia = new LogicDingdanxia();
                $list = $LogicDingdanxia->wphGoodsList('',1,$page,$page_size,0);
            break;
             case "dy": //抖音
                 $LogicHaodanku = new LogicHaodanku();
                $list = $LogicHaodanku->getDygoodsList('','','',$page,$page_size);
            break;
        }
        $list=array_slice($list, 0, $n_count);
        if(!empty($clist)){
            $list=array_merge($clist,$list);
        }
        $this->success('获取成功',['list'=>$list]);
    }
      /**
     * 商品比价
     *
     * @return void
     */
    public function compare_good(){
        $content = request()->param('content','');
        if (empty($content)) $this->error('内容不能为空');
        $exclude_tb = request()->param('exclude_tb',0);
        $exclude_jd = request()->param('exclude_jd',0);
        $exclude_pdd = request()->param('exclude_pdd',0);
        $exclude_dy = request()->param('exclude_dy',0);
        $content = request()->param('content','');
        $content = request()->param('content','');
        $LogicSearch = new LogicSearch();
        $user = $this->auth->getUser();
        $common_relation_id = $user['common_relation_id'];
        $info = $LogicSearch->compare_good($content,$common_relation_id,$exclude_tb,$exclude_jd,$exclude_pdd,$exclude_dy);
        $this->success('获取成功',['list'=>$info]);
    }
}