| | |
| | | use app\api\logic\taoke\Parser; |
| | | use fast\Http; |
| | | use think\Cache; |
| | | |
| | | use think\log; |
| | | |
| | | class Haodanku extends Parser |
| | | { |
| | |
| | | 'jd_hot_rank_url'=>'http://v2.api.haodanku.com/jd_hot_rank', |
| | | 'dy_hot_rank_url'=>'https://v3.api.haodanku.com/dy_rankitem_list', |
| | | 'pdd_hot_rank_url'=>'http://v2.api.haodanku.com/pdd_hot_rank', |
| | | 'sign_red_url'=>'http://v2.api.haodanku.com/sign_red_pack_goods', |
| | | 'dy_onebuy_url'=>'https://v3.api.haodanku.com/dy_onebuy' |
| | | ]; |
| | | |
| | | /** |
| | |
| | | $this->apikey = $this->config['apikey']; |
| | | |
| | | if(empty($this->apikey)) return fault('配置信息错误'); |
| | | } |
| | | |
| | | /** |
| | | * 获取签到红包商品 |
| | | */ |
| | | |
| | | public function getSignRedGoods($apikey,$min_size,$sort,$min_id,$keyword) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $apikey, |
| | | 'min_size' => $min_size, |
| | | 'sort' => $sort, |
| | | 'min_id' => $min_id, |
| | | 'keyword' => $keyword |
| | | ]; |
| | | $result = send_get(self::request_url['sign_red_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) return []; |
| | | $list = $result['data']; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $goods = self::GetGoodsred($goods,$goods["itemendprice"],$goods["tkrates"]); |
| | | } |
| | | } |
| | | $result['data']=$list; |
| | | return $result; |
| | | } |
| | | |
| | | private static function GetGoodsred($goods,$actprice,$rate) |
| | | { |
| | | //计算返利金额 |
| | | $goods['fanli'] = self::rebate($actprice,$rate); |
| | | $goods['topFanli'] = self::rebate($actprice,$rate,self::$topFanliRate); |
| | | return $goods; |
| | | } |
| | | |
| | | /** |
| | |
| | | * 京东榜单(实时热榜) https://www.haodanku.com/Openapi/api_detail?id=52 |
| | | * |
| | | */ |
| | | public function getJdHotRank($cid) |
| | | public function getJdHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort'=>3, |
| | | 'min_id'=>1, |
| | | 'min_id'=>$mainid, |
| | | 'cid'=>$cid |
| | | ]; |
| | | $result = send_get(self::request_url['jd_hot_rank_url'],$send_data); |
| | |
| | | * 抖音榜单 https://www.haodanku.com/Openapi/api_detail?id=135 |
| | | * |
| | | */ |
| | | public function getDyHotRank($cid) |
| | | public function getDyHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort_id'=>1, |
| | | 'min_id'=>1, |
| | | 'min_id'=>$mainid, |
| | | 'cate_id'=>$cid, |
| | | 'back'=>50 |
| | | ]; |
| | |
| | | * 拼多多榜单 https://www.haodanku.com/Openapi/api_detail?id=53 |
| | | */ |
| | | |
| | | public function getPddHotRank($cid) |
| | | public function getPddHotRank($cid,$mainid) |
| | | { |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'sort'=>1, |
| | | 'min_id'=>1, |
| | | 'min_id'=>$mainid, |
| | | 'cid'=>$cid |
| | | ]; |
| | | $result = send_get(self::request_url['pdd_hot_rank_url'],$send_data); |
| | |
| | | $init_goods = self::FqgoodsField(); |
| | | $init_goods['dtitle'] = isset($goods['itemtitle']) ? $goods['itemtitle'] : ''; |
| | | $init_goods['goodsid'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['goodsId'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['jiage'] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; |
| | | $init_goods['mallDesc'] = isset($goods['shop_name']) ? $goods['shop_name'] : ''; |
| | | $init_goods['pic'] = isset($goods['itempic']) ? $goods['itempic'] : ''; |
| | |
| | | 'back' => $pageSize |
| | | ]; |
| | | $result = send_get(self::request_url['dy_goods_url'],$send_data); |
| | | |
| | | if(empty($result) || $result['code'] != 200) fault('数据获取失败'); |
| | | |
| | | $list = $result['data']; |
| | |
| | | 'id' => $id |
| | | ]; |
| | | $result = send_get(self::request_url['talent_article_url'],$send_data); |
| | | |
| | | if(empty($result) || $result['code'] != 1) fault('数据获取失败'); |
| | | |
| | | $info = $result['data']; |
| | | |
| | | return $info; |
| | | } |
| | | |
| | | /** |
| | | * 抖音1.9元/3.9元低价包邮商品 |
| | | */ |
| | | public function getDyOnebyGood($page,$pageSize){ |
| | | $send_data = [ |
| | | 'apikey' => $this->apikey, |
| | | 'min_id' => $page, |
| | | 'back' => $pageSize |
| | | ]; |
| | | $result = send_get(self::request_url['dy_onebuy_url'],$send_data); |
| | | if(empty($result) || $result['code'] != 200) fault('数据获取失败'); |
| | | |
| | | $list = $result['data']; |
| | | $list_new=[]; |
| | | $title_list=[]; |
| | | if(!empty($list)){ |
| | | foreach($list as &$goods){ |
| | | $itemtitle=$goods['itemtitle']; |
| | | if(empty($title_list)){ |
| | | array_push($title_list,$itemtitle); |
| | | } |
| | | else{ |
| | | //判断商品标题是否相似 |
| | | $is_same=false; |
| | | foreach($title_list as &$title){ |
| | | similar_text($title,$itemtitle,$percent); |
| | | log::write($title.'----------'.$itemtitle.'--------------'.$percent); |
| | | if($percent>60){ |
| | | $is_same=true; |
| | | break; |
| | | } |
| | | } |
| | | if($is_same){ |
| | | continue; |
| | | } |
| | | array_push($title_list,$itemtitle); |
| | | } |
| | | $goods['shoptype']=''; |
| | | // $goods = self::initDyOneByGoods($goods); |
| | | array_push($list_new,self::initDyOneByGoods($goods)); |
| | | } |
| | | |
| | | } |
| | | |
| | | return $list_new; |
| | | } |
| | | |
| | | |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['dyrates']/100); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['dyrates']/100,self::$topFanliRate); |
| | | |
| | | //新增商品类目ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] = self::rebate($init_goods["actualPrice"],$goods['dyrates']/100); |
| | | $init_goods['topFanli'] = self::rebate($init_goods['actualPrice'],$goods['dyrates']/100,self::$topFanliRate); |
| | | |
| | | //新增商品类目ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | |
| | | return $init_goods; |
| | | } |
| | | |
| | | /** |
| | | * 格式化抖音1.9元/3.9元低价包邮商品 |
| | | * |
| | | * @param [type] $goods |
| | | * @return void |
| | | */ |
| | | private static function initDyOneByGoods($goods) |
| | | { |
| | | if(empty($goods)) return []; |
| | | $init_goods = self::goodsField(); |
| | | $init_goods['id'] = isset($goods['product_id']) ? $goods['product_id'] : ''; |
| | | $init_goods['goodsId'] = isset($goods['product_id']) ? $goods['product_id'] : ''; //商品id |
| | | $init_goods['itemLink'] = isset($goods['detail_url']) ? $goods['detail_url'] : ''; //商品链接 |
| | | $init_goods['dtitle'] = isset($goods['itemshorttitle']) ? $goods['itemshorttitle'] : ''; //商品标题 |
| | | $init_goods['title'] = $init_goods['dtitle']; |
| | | $init_goods["actualPrice"] = isset($goods['itemendprice']) ? $goods['itemendprice'] : ''; //券后价 |
| | | $init_goods["originalPrice"] = isset($goods['itemprice']) ? $goods['itemprice'] : ''; //商品原价 |
| | | $init_goods["shopName"] = isset($goods['shop_name']) ? $goods['shop_name'] : ''; //店铺名称 |
| | | $init_goods["monthSales"] = isset($goods['itemsale']) ? format_number($goods['itemsale']) : 0; //30天销量 |
| | | $init_goods["mainPic"] = isset($goods['itempic']) ? $goods['itempic'] : ''; //商品主图 |
| | | $init_goods['shopType'] = '抖音'; //店铺类型 |
| | | $init_goods['sourceType'] = "dy"; |
| | | $init_goods['desc'] = ""; |
| | | $init_goods['faction'] = 'd'; |
| | | $init_goods['labelImg'] = self::initSourse($init_goods['sourceType']); |
| | | $init_goods['isCollect'] = self::isCollect($init_goods); |
| | | $init_goods['fanli'] =isset($goods['itemendprice']) ? $goods['itemendprice'] : 0; |
| | | $init_goods['topFanli'] =0; |
| | | //新增商品类目ID--byhyt |
| | | $init_goods['cid'] = isset($goods['cate_id']) ? $goods['cate_id'] : ''; |
| | | return $init_goods; |
| | | } |
| | | |
| | | |
| | | |
| | | } |