zhaojs
2023-06-09 9df5e4341a95c35b00e651d49ff789576f28e897
application/api/logic/taoke/device/Dataoke.php
@@ -28,7 +28,14 @@
        'goods_list' => 'https://openapi.dataoke.com/api/goods/get-goods-list',
        'price_trend_url'=>'https://openapi.dataoke.com/api/goods/price-trend',
        'album_url' => 'https://openapi.dataoke.com/api/album/album-list',
        'album_goods_url'=>'https://openapi.dataoke.com/api/album/goods-list'
        'album_goods_url'=>'https://openapi.dataoke.com/api/album/goods-list',
        'fqb_url'=>'https://dtkapi.ffquan.cn/dtk_go_app_api/v1/page-goods-ranking',
        'zsz_url'=>'https://dtkapi.ffquan.cn/dtk_go_app_api/v1/page-super-discount',
        'xy_url'=>'https://v2.api.haodanku.com/makeup_items',
        'friends-circle-list'=>'https://openapi.dataoke.com/api/goods/friends-circle-list',
        'parse_url'=>'https://openapi.dataoke.com/api/dels/kit/contentParse',
        'similer_url'=>'https://openapi.dataoke.com/api/goods/list-similer-goods-by-open',
        'gift_money_url'=>'https://openapi.dataoke.com/api/goods/first-order-gift-money',
    ];
    const shop_type = ["0"=>"淘宝","1"=>"天猫","2"=>"天猫超市","3"=>"天猫国际"];
@@ -94,7 +101,64 @@
        return $data;
        
    }
      /**
     * 大淘客疯抢榜
     *
     */
     public function fqbGoodsList($cid,$type,$pid)
     {
        $params = $this->setParams(['cId'=>$cid,'type'=>$type,'app_key'=>$pid]);
        $result = send_get(self::request_url['fqb_url'],$params);
        if(empty($result) || $result['code'] != 1) return [];
        $list = $result['data']['data'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::GetGoodsFy($goods,$goods["jiage"],$goods["yongjin"]/100);
            }
        }
        $result['data']['data']=$list;
        return $result;
     }
     /**
      *
      *折上折单页接口
      */
     public function zszGoodsList($cid,$appkey)
     {
        $params = $this->setParams(['cId'=>$cid,'app_key'=>$appkey]);
        $result = send_get(self::request_url['zsz_url'],$params);
        if(empty($result) || $result['code'] != 1) return [];
        $list = $result['data']['data']['list'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::GetGoodsFy($goods,$goods["jiage"],$goods["yongjin"]/100);
            }
        }
        $result['data']['data']['list']=$list;
        return $result;
     }
     /**
      *
      *小样单页接口
      */
      public function xyGoodsList($apikey,$keyword,$min_id,$back)
      {
         $params = $this->setParams(['apikey'=>$apikey,'keyword'=>$keyword,'min_id'=>$min_id,'back'=>$back]);
         $result = send_get(self::request_url['xy_url'],$params);
         if(empty($result) || $result['code'] != 200) return [];
         $list = $result['data'];
         if(!empty($list)){
             foreach($list as &$goods){
                 $goods = self::GetGoodsFy($goods,$goods["itemendprice"],$goods["tkrates"]);
             }
         }
         $result['data']=$list;
         return $result;
      }
    /**
     * 获取专辑列表
     *
@@ -184,9 +248,9 @@
     * @param mixed 大淘客的二级类目id,通过超级分类API获取。仅允许传一个二级id,当一级类目id和二级类目id同时传入时,会自动忽略二级类目id
     * @return void
     */
    public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size)
     public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size,$tchaoshi=0)
    {
        $params = $this->setParams(['cids'=>$cids,'subcid'=>$subcid,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$page_size]);
        $params = $this->setParams(['cids'=>$cids,'tchaoshi'=>$tchaoshi,'subcid'=>$subcid,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$page_size]);
        $result = send_get(self::request_url['goods_list'],$params);
@@ -337,7 +401,8 @@
        if(empty($result) || $result['code'] != 0) fault('券链接获取失败');
        $info = $result['data'];
        $info["tpwd"]= $info['longTpwd'];
       //  $info["link"]= $info['shortUrl'];
        $info['kuaiZhanUrl'] = isset($info['kuaiZhanUrl']) ? $info['kuaiZhanUrl'] : '';
        return $info;
@@ -549,6 +614,135 @@
        return $list;
    }
      /**
     * 获取商品分佣信息
     *
     */
     private static function GetGoodsFy($goods,$actprice,$rate)
     {
        //计算返利金额
        $goods['fanli'] = self::rebate($actprice,$rate);
        $goods['topFanli'] = self::rebate($actprice,$rate,self::$topFanliRate);
        return  $goods;
     }
      /**
     * 朋友圈文案 https://www.dataoke.com/kfpt/api-d.html?id=62
     *
     * @param integer $page
     * @param [type] $page_size
     * @return void
     */
     public function getFriendscircles($page = 1,$page_size = 10,$cid,$sort){
        $params = $this->setParams(['pageId'=>$page,'pageSize'=>$page_size,'cid'=>$cid,'sort'=>$sort]);
        $result = send_get(self::request_url['friends-circle-list'],$params);
        if(empty($result) || $result['code'] != 0) fault($result['msg']);
        $list = $result['data'];
        if(empty($list)) return [];
        if(!empty($list)){
            foreach($list['list'] as &$goods){
                $goods = self::GetGoodsFy($goods,$goods["actualPrice"],$goods["commissionRate"]/100);
            }
        }
        return $list;
    }
    /**
     * 剪切板识别 https://www.dataoke.com/kfpt/api-d.html?id=80
     *
     * @param [type] $url
     * @return void
     */
    public function zhuanlian($url)
    {
        $params = $this->setParams(['content'=>$url]);
        $result = send_get(self::request_url['parse_url'],$params);
        if(empty($result) || $result['code'] != 0) return [];
        $list = $result['data'];
        $goods_id=$list["itemId"];
        $params = $this->setParams(['goodsId'=>$goods_id]);
        $result2 = send_get(self::request_url['goods_detail_url'],$params);
        if(empty($result2) || $result2['code'] != 0) fault('商品信息获取失败');
        $goods = $result2['data'];
        $goods = self::initGoods($goods);
        return $goods;
    }
    /**
     * 猜你喜欢商品 https://www.dataoke.com/pmc/api-d.html?id=16
     *
     * @param [type] $goodsId
     * @param [type] $page_size 每页数据
     * @return void
     */
    public function getSimilarInfo($goods_id,$page_size)
    {
        $params = $this->setParams(['id'=>$goods_id,'size'=>$page_size]);
        $result = send_get(self::request_url['similer_url'],$params);
        if(empty($result) || $result['code'] != 0) return [];
        $list = $result['data'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::initGoods($goods);
            }
        }
        return $list;
    }
    /**
     * 淘礼金商品 https://www.dataoke.com/kfpt/api-d.html?id=29
     *
     * @param [type] $page
     * @param [type] $page_size
     * @return void
     */
    public function GetFirstOrderGiftMoney($pageSize,$pageId)
    {
        log::write($pageSize);
        $params = $this->setParams(['pageSize'=>$pageSize,'pageId'=>$pageId]);
        $result = send_get(self::request_url['gift_money_url'],$params);
        if(empty($result) || $result['code'] != 0) return [];
        $list = $result['data'];
        if(!empty($list)){
            foreach($list as &$goods){
                // log::write($goods);
                // if((double)$goods['firstOrderAmount']<4){
                //    //删除佣金小于4的商品
                //    $list=array_diff_key($data, ['id'=>$goods['id']]);
                // }
            }
        }
        return $list;
    }
    /**
@@ -606,6 +800,7 @@
        }
        $init_goods['desc'] = isset($goods['desc']) ? $goods['desc'] : '';  //推广文案
        !empty($goods['imgs']) && $init_goods['imgs'] = explode(",",$goods['imgs']);
        empty($goods['imgs'])&& $init_goods['imgs'] =explode(",",$goods['mainPic']);
        !empty($goods['reimgs']) && $init_goods['reimgs'] = explode(",",$goods['reimgs']);
        if(!empty($goods['detailPics'])){
            $detailPics = json_decode($goods['detailPics'],true);
@@ -625,8 +820,8 @@
        $init_goods['subdivisionRank'] = isset($goods['subdivisionRank']) ? $goods['subdivisionRank'] : ''; //该商品所属细分类目排名
        $init_goods['labelImg'] = self::initSourse($init_goods['sourceType']);
        //计算返利金额
        $init_goods['fanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']);
        $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate'],self::$topFanliRate);
        $init_goods['fanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']/100);
        $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']/100,self::$topFanliRate);
        $init_goods['isCollect'] = self::isCollect($init_goods);
        return $init_goods;
    }