heyuntao
2023-07-13 341daa26d6594cfc62b17a658b83b9a6b9cea7dc
千人前面(猜你喜欢)
已修改5个文件
187 ■■■■■ 文件已修改
application/api/controller/Taoke.php 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/controller/User.php 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/taoke/device/Dataoke.php 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/taoke/device/Jd.php 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/logic/taoke/device/Pdd.php 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
application/api/controller/Taoke.php
@@ -1427,4 +1427,127 @@
        $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 = [];
        if($page<3&&!empty($cids)){
            switch($platefrom){
                case 'tb': //淘宝联盟
                    $LogicDataoke = new LogicDataoke();
                    $list = $LogicDataoke->getGoodsList($cids,'',0,$page,$page_size,1,0);
                    break;
                case 'jd': //京东
                    $LogicJd = new LogicJd();
                    //将以逗号分隔cids字符串转成数组
                    $cids = explode(',',$cids);
                    $new_page=1;
                    while(count($list)<20){
                        foreach($cids as $key=>$value){
                            $jd_id_list = $LogicJd->search_cid_Goods('','desc','','','inOrderCount30Days',$new_page,5,$cids[$key]);
                            //将多个jd_id_list数组合并成一个数组
                            $list = array_merge($list,$jd_id_list);
                        }
                        $new_page=$new_page+1;
                    }
                    //如果page=1,则取$list数组的前10个
                    if($page==1){
                        $list= array_slice($list, 0, 10);
                    }
                    log::write('猜你喜欢日志调试:'.count($list));
                    //如果page=2,则取$list数组的第11个到第20个
                    if($page==2){
                        $list= array_slice($list, 10, 10);
                    }
                    break;
                case 'pdd': //拼多多
                    $LogicPdd = new LogicPdd();
                    //将以逗号分隔cids字符串转成数组
                    $cids = explode(',',$cids);
                    $new_page=1;
                    while(count($list)<20){
                        foreach($cids as $key=>$value){
                            $jd_id_list = $LogicPdd->searchGoods('','',$common_relation_id,'',1,5,0,$cids[$key]);
                            //将多个jd_id_list数组合并成一个数组
                            $list = array_merge($list,$jd_id_list);
                        }
                        $new_page=$new_page+1;
                    }
                    //如果page=1,则取$list数组的前10个
                    if($page==1){
                        $list= array_slice($list, 0, 10);
                    }
                    //如果page=2,则取$list数组的第11个到第20个
                    if($page==2){
                        $list= array_slice($list, 10, 10);
                    }
                    break;
                case'dy'://抖音
                    $LogicHaodanku = new LogicHaodanku();
                     //将以逗号分隔cids字符串转成数组
                     $cids = explode(',',$cids);
                     $new_page=1;
                     while(count($list)<20){
                         foreach($cids as $key=>$value){
                             $jd_id_list = $LogicHaodanku->getDygoodsList($cids[$key],'',0,1,5);
                             //将多个jd_id_list数组合并成一个数组
                             $list = array_merge($list,$jd_id_list);
                         }
                         $new_page=$new_page+1;
                     }
                     //如果page=1,则取$list数组的前10个
                     if($page==1){
                         $list= array_slice($list, 0, 10);
                     }
                     //如果page=2,则取$list数组的第11个到第20个
                     if($page==2){
                         $list= array_slice($list, 10, 10);
                     }
                     break;
            }
        }
        else{
            if(empty($platefrom)){
                $platefrom='tb';
            }
            else{
                $page=$page-2;
            }
            switch($platefrom){
                case "tb": //淘宝联盟
                    $LogicTaobaolianmeng = new LogicTaobaolianmeng();
                    $list = $LogicTaobaolianmeng->material('6708','','',$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;
            }
        }
        $this->success('获取成功',['list'=>$list]);
    }
}
application/api/controller/User.php
@@ -20,6 +20,8 @@
use app\api\logic\UserMoneyLog as LogicUserMoneyLog;
use think\log;
use app\api\logic\ActivityInfo as InfoActivityInfo;
use app\common\model\UserExtend as ModelUserExtend;
use think\Db;
/**
 * 会员接口
@@ -1050,4 +1052,20 @@
        $this->success('获取成功',$user);     
    }
    /**
     * 检测是否有偏好商品
     *
     * @return void
     */
    public function check_preference_goods()
    {
        //获取当前登录人用户信息
        $user = $this->auth->getUser();
        $ModelUserExtend=new ModelUserExtend();
        $preference_goods=$ModelUserExtend->where(['id'=>$user['id']])->field('p_cids,p_platefrom')->find();
        if(empty($preference_goods)||empty($preference_goods['p_cids'])) $this->error('暂无偏好商品');
        $this->success('获取成功',$preference_goods);
    }
}
application/api/logic/taoke/device/Dataoke.php
@@ -38,7 +38,7 @@
        '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',
        'bottom_price_url'=>'https://openapi.dataoke.com/api/goods/get-history-low-price-list',
        'jdnines_url'=>'https://openapi.dataoke.com/api/dels/jd/column/list-nines',
        'jdnines_url'=>'https://openapi.dataoke.com/api/dels/jd/column/list-nines'
    ];
    const shop_type = ["0"=>"淘宝","1"=>"天猫","2"=>"天猫超市","3"=>"天猫国际"];
application/api/logic/taoke/device/Jd.php
@@ -299,6 +299,47 @@
            'pageSize' => $pageSize,
            'keyword' => $keyword
        ];
        if($isCoupon == 1)$send_data['isCoupon'] = $isCoupon;
        $result = send_get(self::request_url['search_url'],$send_data);
        if(empty($result) || $result['return'] != 0) return [];
        $list = $result['result']['goods'];
        if(!empty($list)){
            foreach($list as &$goods){
                $goods = self::initSearchGoods($goods);
            }
        }
         return $list;
    }
     /**
     * 搜索商品(增加类目id--hyt) http://jingtuitui.com/api_item?id=3
     *
     * @param [type] $keyword   关键词
     * @param [type] $sort      asc=升降序;desc=默认降序
     * @param [type] $owner     商品类型 :(g:自营;p:POP)
     * @param [type] $isCoupon  是否是优惠券商品 1=有优惠券
     * @param [type] $sortName  排序字段 price单价; commissionShare佣金比例; commission佣金;inOrderCount30Days 30天引单量;inOrderComm30Days 30天支出佣金
     * @param [type] $page
     * @param [type] $pageSize
     * @param [type] $cid1  类目id
     * @return void
     */
    public function search_cid_Goods($keyword,$sort,$owner,$isCoupon,$sortName,$page,$pageSize,$cid1)
    {
        $send_data = [
            'appkey' => $this->appkey,
            'appid' => $this->appid,
            'v' => $this->search_version,
            'sort' => $sort,
            'owner' => $owner,
            'sortName' => $sortName,
            'pageIndex' => $page,
            'pageSize' => $pageSize,
            'keyword' => $keyword,
            'cid1' => $cid1
        ];
        if($isCoupon == 1)$send_data['isCoupon'] = $isCoupon;
        $result = send_get(self::request_url['search_url'],$send_data);
        if(empty($result) || $result['return'] != 0) return [];
application/api/logic/taoke/device/Pdd.php
@@ -330,7 +330,7 @@
     * @param mixed $sort_type 排序方式:0-综合排序;1-按佣金比率升序;2-按佣金比例降序;3-按价格升序;4-按价格降序;5-按销量升序;6-按销量降序;7-优惠券金额排序升序;8-优惠券金额排序降序;9-券后价升序排序;10-券后价降序排序;11-按照加入多多进宝时间升序;12-按照加入多多进宝时间降序;13-按佣金金额升序排序;14-按佣金金额降序排序;15-店铺描述评分升序;16-店铺描述评分降序;17-店铺物流评分升序;18-店铺物流评分降序;19-店铺服务评分升序;20-店铺服务评分降序;27-描述评分击败同类店铺百分比升序,28-描述评分击败同类店铺百分比降序,29-物流评分击败同类店铺百分比升序,30-物流评分击败同类店铺百分比降序,31-服务评分击败同类店铺百分比升序,32-服务评分击败同类店铺百分比降序
     * @return void
     */
    public function searchGoods($keyword='',$opt_id='',$common_relation_id,$with_coupon = '',$page,$pageSize,$sort_type = 0)
    public function searchGoods($keyword='',$opt_id='',$common_relation_id,$with_coupon = '',$page,$pageSize,$sort_type = 0,$cat_id='')
    {
        $params = [
            'keyword' => $keyword,
@@ -340,6 +340,7 @@
            'with_coupon' => empty($with_coupon) ? '' : ($with_coupon == 1 ? "true" : "false"),
            'page' => $page,
            'sort_type' => $sort_type,
            'cat_id' => $cat_id
            
        ];
        if(!empty(MOBILE_INFO)){