<?php
|
namespace app\api\logic\taoke\device;
|
|
use app\api\logic\taoke\Parser;
|
use app\api\logic\taoke\device\Haodanku as LogicHaodanku;
|
|
class Dataoke extends Parser
|
{
|
protected $appKey,$config;
|
protected $appSecret = '';
|
protected $version = '';
|
protected $timeout = 10;
|
|
const request_url = [
|
'goods_detail_url' => "https://openapi.dataoke.com/api/goods/get-goods-details",
|
'cate_rank_url' => 'https://openapi.dataoke.com/api/subdivision/get-rank-list',
|
'cate_url' => 'https://openapi.dataoke.com/api/category/get-super-category',
|
'daily_explosion_url' => 'https://openapi.dataoke.com/api/goods/super-discount-goods',
|
'rank_url'=>'https://openapi.dataoke.com/api/goods/get-ranking-list',
|
'suggestion_url' => 'https://openapi.dataoke.com/api/goods/search-suggestion',
|
'hot_word_url' => 'https://openapi.dataoke.com/api/etc/search/list-hot-words',
|
'privilege_link_url' => 'https://openapi.dataoke.com/api/tb-service/get-privilege-link',
|
'ddq_url' => 'https://openapi.dataoke.com/api/category/ddq-goods-list',
|
'super_search_url' => 'https://openapi.dataoke.com/api/goods/list-super-goods',
|
'acrivity_link_url' => 'https://openapi.dataoke.com/api/tb-service/activity-link',
|
'op_goods_list_url' => 'https://openapi.dataoke.com/api/goods/nine/op-goods-list',
|
'brand_list_url' => 'https://openapi.dataoke.com/api/delanys/brand/get-column-list',
|
'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',
|
'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"=>"天猫国际"];
|
|
|
|
public function __construct()
|
{
|
parent::__construct();
|
|
$this->config = config('site.dataoke');
|
|
$this->appKey = $this->config['appKey'];
|
|
$this->version = $this->config['version'];
|
|
$this->appSecret = $this->config['appSecret'];
|
|
if(empty($this->appKey)) return fault('配置信息错误');
|
}
|
|
|
/**
|
* 签名参数
|
* @param $data
|
* @return string
|
*/
|
public function makeSign($timer, $nonce)
|
{
|
return strtoupper(md5('appKey=' . $this->appKey . '&timer=' . $timer. '&nonce='.$nonce.'&key='. $this->appSecret));
|
}
|
|
|
/**
|
* 统一生成参数
|
*
|
* @param [type] $params
|
* @return void
|
*/
|
private function setParams($params = [])
|
{
|
//毫秒级时间戳
|
list($msec, $sec) = explode(' ', microtime());
|
$timer = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
|
|
//6位随机数
|
$nonce = rand(100000, 999999);
|
$version = isset($params['version']) ? $params['version'] : $this->version;
|
//默认必传参数
|
$data = [
|
'appKey' => $this->appKey,
|
'version' => $version,
|
'timer' => $timer,
|
'nonce' => $nonce,
|
];
|
|
//加密的参数
|
if ($params) {
|
$data = array_merge($params, $data);
|
}
|
$data['signRan'] = $this->makeSign($timer, $nonce);
|
|
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;
|
}
|
/**
|
* 获取专辑列表
|
*
|
* @param [type] $albumType
|
* @param integer $sort
|
* @param [type] $page
|
* @param [type] $pageSize
|
* @return void
|
*/
|
public function albumList($albumType,$sort=0,$page,$pageSize)
|
{
|
$params = $this->setParams(['albumType'=>$albumType,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$pageSize]);
|
|
$result = send_get(self::request_url['album_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
return $result['data']['list'];
|
}
|
|
|
/**
|
* 单个专辑商品列表 https://www.dataoke.com/kfpt/api-d.html?id=54
|
*
|
* @return void
|
*/
|
public function albumGoodsList($albumId)
|
{
|
$params = $this->setParams(['albumId'=>$albumId]);
|
|
$result = send_get(self::request_url['album_goods_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
if(!isset($result['data']['goodsList'])) return [];
|
|
$list = $result['data']['goodsList'];
|
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return $list;
|
}
|
|
|
/**
|
* 淘系商品历史券后价 https://www.dataoke.com/pmc/api-d.html?id=36
|
*
|
* @param [type] $id 在大淘客的在线商品id
|
* @param [type] $goodsId 淘宝商品id
|
* @return void
|
*/
|
public function getPriceTrend($id,$goodsId)
|
{
|
$params = $this->setParams(['id'=>$id,'goodsId' => $goodsId]);
|
$result = send_get(self::request_url['price_trend_url'],$params);
|
$qushi = [
|
'dateList' => [],
|
'priceList' => [],
|
];
|
if(empty($result) || $result['code'] != 0) return ['goodsInfo' => [],'qushi'=>$qushi];
|
$info = $result['data'];
|
$goods = [];
|
if(!empty($info)){
|
$tmp = end($info['historicalPrice']);
|
$info['actualPrice'] = isset($tmp['actualPrice']) ? $tmp['actualPrice'] : 0;
|
$goods = self::initGoods($info);
|
foreach($info['historicalPrice'] as $key => $item){
|
$qushi['dateList'][] = date("Ymd",strtotime($item['date']));
|
$qushi['priceList'][] = $item['actualPrice'];
|
}
|
}
|
return ['goodsInfo' => $goods,'qushi'=>$qushi];
|
}
|
|
|
|
|
|
/**
|
* 获取商品列表 https://www.dataoke.com/pmc/api-d.html?id=5
|
*
|
* @param [type] $cids 分类ID
|
* @param [type] $sort 排序 排序方式,默认为0,0-综合排序,1-商品上架时间从高到低,2-销量从高到低,3-领券量从高到低,4-佣金比例从高到低,5-价格(券后价)从高到低,6-价格(券后价)从低到高,7-券金额从高到底
|
* @param mixed 大淘客的二级类目id,通过超级分类API获取。仅允许传一个二级id,当一级类目id和二级类目id同时传入时,会自动忽略二级类目id
|
* @return void
|
*/
|
public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size,$tchaoshi=0,$secrend_search=0)
|
{
|
$params = $this->setParams(['cids'=>$cids,'tchaoshi'=>$tchaoshi,'subcid'=>$subcid,'sort'=>$sort,'pageId'=>$page,'pageSize'=>$page_size]);
|
if($secrend_search>0)
|
{//有二级筛选
|
switch($secrend_search)
|
{
|
case 1://60天最低价
|
$params['lowestPrice']=1;
|
break;
|
case 2://聚划算
|
$params['juHuaSuan']=1;
|
break;
|
case 3://淘抢购
|
$params['taoQiangGou']=1;
|
break;
|
case 4://多买多送
|
$params['specialId']=2;
|
break;
|
case 5://限量抢购
|
$params['specialId']=3;
|
break;
|
case 6://额外满减
|
$params['specialId']=4;
|
break;
|
default:
|
break;
|
}
|
}
|
$result = send_get(self::request_url['goods_list'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$list = $result['data']['list'];
|
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return $list;
|
}
|
|
|
/**
|
* 品牌栏目 https://www.dataoke.com/kfpt/api-d.html?id=44
|
*
|
* @param [type] $cid
|
* @param integer $page
|
* @param [type] $pageSize
|
* @return void
|
*/
|
public function getBrandList($cid,$page = 1,$page_size)
|
{
|
$params = $this->setParams(['cid'=>$cid,'pageId'=>$page,'pageSize'=>$page_size]);
|
dump($params);exit;
|
$result = send_get(self::request_url['brand_list_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$list = $result['data']['lists'];
|
|
if(!empty($list)){
|
foreach($list as &$brand){
|
if(!empty($brand['goodsList'])){
|
foreach($brand['goodsList'] as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
}
|
}
|
return $list;
|
}
|
|
|
/**
|
* 9.9包邮精选 https://www.dataoke.com/kfpt/api-d.html?id=15
|
*
|
* @param [type] $nineCid 9.9精选的类目id,分类id请求详情:-1-精选,1 -5.9元区,2 -9.9元区,3 -19.9元区(调整字段)
|
* @return void
|
*/
|
public function getOpGoodsList($nineCid,$page = 1,$page_size)
|
{
|
$params = $this->setParams(['version'=>'v3.0.0','nineCid'=>$nineCid,'pageId'=>$page,'pageSize'=>$page_size]);
|
$result = send_get(self::request_url['op_goods_list_url'],$params);
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$list = $result['data']['list'];
|
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return $list;
|
}
|
|
|
/**
|
* 官方活动会场转链 https://www.dataoke.com/kfpt/api-d.html?id=31
|
*
|
*
|
* @param [type] $promotionSceneId 联盟官方活动ID,从联盟官方活动页获取或从大淘客官方活动推广接口获取
|
* @return void
|
*/
|
public function acrivityLink($promotionSceneId,$relationId)
|
{
|
$params = $this->setParams(['version'=>'v1.0.0','promotionSceneId'=>$promotionSceneId,'relationId'=>$relationId]);
|
$result = send_get(self::request_url['acrivity_link_url'],$params);
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$result['data']['app_id'] = 'gh_6506303a12bb'; //饿了么小程序原始ID
|
|
return $result['data'];
|
}
|
|
|
/**
|
* 超级搜索 https://www.dataoke.com/pmc/api-d.html?id=14
|
*
|
* @return void
|
*/
|
public function superSearch($keyWords,$page = 1,$page_size,$sort)
|
{
|
$params = $this->setParams(['type'=>"0",'keyWords'=>$keyWords,'type'=>0,'pageId'=>$page,'pageSize'=>$page_size,'sort'=>$sort]);
|
$result = send_get(self::request_url['super_search_url'],$params);
|
if(empty($result) || $result['code'] != 0) return [];
|
$list = $result['data']['list'];
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return $list;
|
}
|
|
|
/**
|
* 获取商品详情信息 https://www.dataoke.com/kfpt/api-d.html?id=8
|
*
|
* @param [type] $goods_id 商品id
|
* @return void
|
*/
|
public function getGoodsDetail($goods_id)
|
{
|
$params = $this->setParams(['goodsId'=>$goods_id]);
|
|
$result = send_get(self::request_url['goods_detail_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) fault('商品信息获取失败');
|
|
$goods = $result['data'];
|
|
$goods = self::initGoods($goods);
|
|
self::browseLog($goods);
|
|
return $goods;
|
}
|
|
|
/**
|
* 高佣反链 https://www.dataoke.com/kfpt/api-d.html?id=7
|
*/
|
public function getPrivilegeLlink($goods_id,$channelId)
|
{
|
$params_data = [
|
'goodsId'=>$goods_id,
|
'pid' => MOBILE_INFO == "IOS" ? config('site.taobao_pid')['ios_pid'] : config('site.taobao_pid')['android_pid'],
|
'channelId' => $channelId
|
];
|
$params = $this->setParams($params_data);
|
//dump($params);
|
$result = send_get(self::request_url['privilege_link_url'],$params);
|
//dump($result);exit;
|
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;
|
}
|
|
|
/**
|
* 细分类目榜 https://www.dataoke.com/kfpt/api-d.html?id=41
|
*
|
* @param [type] $subdivisionId 细分类目榜分类id
|
* @return void
|
*/
|
public function getRankList($subdivisionId)
|
{
|
$params = $this->setParams(['subdivisionId'=>$subdivisionId]);
|
|
$result = send_get(self::request_url['cate_rank_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;
|
}
|
|
/**
|
* 获取淘宝分类
|
*
|
* @param [type] $level 分类等级1级2级
|
* @param [type] $cate_id 父级别id level为2时使用
|
* @return void
|
*/
|
public function getCate($level,$cate_id = "")
|
{
|
$params = $this->setParams();
|
|
$result = send_get(self::request_url['cate_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$list = $result['data'];
|
|
$cate_list = [];
|
|
if(!empty($list)){
|
foreach($list as $cate){
|
if($level == 2 && !empty($cate_id)){
|
if($cate['cid'] == $cate_id){
|
foreach($cate['subcategories'] as $item){
|
$tmp = [
|
'id' => $item['subcid'],
|
'name' => $item['subcname'],
|
'cpic' => $item['scpic']
|
];
|
array_push($cate_list,$tmp);
|
}
|
}
|
}else{
|
$tmp = [
|
'id' => $cate['cid'],
|
'name' => $cate['cname'],
|
'cpic' => $cate['cpic']
|
];
|
array_push($cate_list,$tmp);
|
}
|
}
|
}
|
return $cate_list;
|
}
|
|
|
/**
|
* 每日爆款 https://www.dataoke.com/pmc/api-d.html?id=39
|
*
|
* @param [type] $cate_id 分类id
|
* @param integer $page
|
* @param [type] $page_size
|
* @return void
|
*/
|
public function dailyExplosion($cate_id="",$page = 1,$page_size)
|
{
|
$params = $this->setParams(['cate_id'=>$cate_id,'pageId'=>$page,'pageSize'=>$page_size]);
|
|
$result = send_get(self::request_url['daily_explosion_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return [];
|
|
$list = $result['data']['list'];
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return $list;
|
}
|
|
|
|
/**
|
* 各大榜单 https://www.dataoke.com/pmc/api-d.html?id=6
|
*
|
* @param [type] $rankType 榜单类型,1.实时榜 2.全天榜 3.热推榜 5.热词飙升榜 6.热词排行榜 7.综合热搜榜
|
* @param [type] $cate_id 大淘客一级类目id,仅对实时榜单、全天榜单有效
|
* @param integer $page
|
* @param [type] $page_size
|
* @return void
|
*/
|
public function getRank($rankType,$cate_id="",$page = 1,$page_size = 10)
|
{
|
$params = $this->setParams(['rankType'=>$rankType,'cid'=>$cate_id,'pageId'=>$page,'pageSize'=>$page_size]);
|
|
$result = send_get(self::request_url['rank_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) fault('数据获取失败');
|
|
$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=23
|
*
|
* @return void
|
*/
|
public function getDdqGoods($roundTime = "")
|
{
|
$params = [];
|
|
if(!empty($roundTime)) $params['roundTime'] = $roundTime;
|
|
$params = $this->setParams($params);
|
|
$result = send_get(self::request_url['ddq_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) fault('数据获取失败');
|
|
$list = $result['data']['goodsList'];
|
|
if(!empty($list)){
|
foreach($list as &$goods){
|
$goods = self::initGoods($goods);
|
}
|
}
|
return ['list'=>$list,'ddqTime'=>date('H',strtotime($result['data']['ddqTime']))];
|
}
|
|
|
|
/**
|
* 联想词 https://www.dataoke.com/kfpt/api-d.html?id=18
|
*
|
* @param [type] $keyWords
|
* @return void
|
*/
|
public function getSuggestion($keyWords)
|
{
|
$params = $this->setParams(['keyWords'=>$keyWords,'type'=>3]);
|
|
$result = send_get(self::request_url['suggestion_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) return fault($result['msg']);
|
|
$list = $result['data'];
|
|
if(empty($list)) return [];
|
|
return $list;
|
}
|
|
|
/**
|
* 热搜榜 https://www.dataoke.com/kfpt/api-d.html?id=61
|
*
|
* @return void
|
*/
|
public function getHotWord()
|
{
|
$params = $this->setParams();
|
|
$result = send_get(self::request_url['hot_word_url'],$params);
|
|
if(empty($result) || $result['code'] != 0) fault($result['msg']);
|
|
$list = $result['data'];
|
|
if(empty($list)) return [];
|
|
$LogicHaodanku = new LogicHaodanku();
|
|
foreach($list as &$theme){
|
|
$goods_list = $LogicHaodanku->searchGoods($theme['words'],'','','',1,5);
|
|
if(count($goods_list) > 3)$goods_list = array_slice($goods_list,0,3);
|
|
$theme['goods_list'] = $goods_list;
|
}
|
|
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;
|
}
|
|
|
/**
|
* 格式化商品信息
|
*
|
* @param [type] $goods
|
* @return void
|
*/
|
private static function initGoods($goods)
|
{
|
if(empty($goods)) return [];
|
$init_goods = self::goodsField();
|
$init_goods['id'] = isset($goods['id']) ? $goods['id'] : '';
|
$init_goods['goodsId'] =(isset($goods['goodsSign']) && !empty($goods['goodsSign']) ? $goods['goodsSign'] : (isset($goods['goodsId']) ? $goods['goodsId'] : '')); //商品id
|
$init_goods['itemLink'] = isset($goods['itemLink']) ? $goods['itemLink'] : ''; //商品链接
|
$init_goods['title'] = isset($goods['title']) ? $goods['title'] : ''; //商品标题
|
$init_goods["dtitle"] = isset($goods['dtitle']) ? $goods['dtitle'] : ''; //短标题
|
if(empty($init_goods['dtitle'])) $init_goods['dtitle'] = $init_goods['title'];
|
$init_goods["actualPrice"] = isset($goods['actualPrice']) ? $goods['actualPrice'] : ''; //券后价
|
$init_goods["originalPrice"] = isset($goods['originalPrice']) ? $goods['originalPrice'] : ''; //商品原价
|
if(isset($goods['originPrice']))$init_goods["originalPrice"] = $goods['originPrice'];
|
$init_goods["sellerId"] = isset($goods['sellerId']) ? $goods['sellerId'] : ''; //店铺Id
|
$init_goods["shopName"] = isset($goods['shopName']) ? $goods['shopName'] : ''; //店铺名称
|
$init_goods['shopLogo'] = isset($goods['shopLogo']) ? $goods['shopLogo'] : '';
|
$init_goods['shopLevel'] = isset($goods['shopLevel']) ? $goods['shopLevel'] : ''; //店铺等级
|
$init_goods['descScore'] = isset($goods['descScore']) ? $goods['descScore'] : ''; //描述分
|
$init_goods['dsrScore'] = isset($goods['dsrScore']) ? $goods['dsrScore'] : ''; //描述相符
|
$init_goods['dsrPercent'] = isset($goods['dsrPercent']) ? $goods['dsrPercent'] : ''; //描述同行比
|
$init_goods['shipScore'] = isset($goods['shipScore']) ? $goods['shipScore'] : ''; //物流服务
|
$init_goods['serviceScore'] = isset($goods['serviceScore']) ? $goods['serviceScore'] : ''; //服务态度
|
$init_goods["couponPrice"] = isset($goods['couponPrice']) ? $goods['couponPrice'] : ''; //优惠券金额
|
$init_goods["monthSales"] = isset($goods['monthSales']) ? format_number($goods['monthSales']) : 0; //30天销量
|
$init_goods['twoHoursSales'] = isset($goods['twoHoursSales']) ? format_number($goods['twoHoursSales']) : 0; //
|
$init_goods['specialText'] = isset($goods['specialText']) ? $goods['specialText'] : [];
|
$init_goods["mainPic"] = isset($goods['mainPic']) ? $goods['mainPic'] : ''; //商品主图
|
$init_goods["video"] = isset($goods['video']) ? $goods['video'] : ''; //商品视频
|
$init_goods['couponLink'] = isset($goods['couponLink']) ? $goods['couponLink'] : ''; //优惠券链接
|
$init_goods['couponEndTime'] = isset($goods['couponEndTime']) && !empty($goods['couponEndTime']) ? date('Y-m-d',strtotime($goods['couponEndTime'])) : ''; //优惠券结束时间
|
$init_goods['couponStartTime'] = isset($goods['couponStartTime']) && !empty($goods['couponStartTime']) ? date('Y-m-d',strtotime($goods['couponStartTime'])) : ''; //优惠券开始时间
|
if(isset($goods['tchaoshi']) && $goods['tchaoshi'] == 1)$goods['shopType'] = 2; //天猫超市
|
$init_goods['sourceType'] = "tb";
|
if(isset($goods['shopType'])){
|
$init_goods['shopType'] = isset(self::shop_type[$goods['shopType']]) ? self::shop_type[$goods['shopType']] : "未知"; //店铺类型
|
switch($goods['shopType']){
|
case 1 :
|
$init_goods['sourceType'] = "tm";
|
break;
|
case 2 :
|
$init_goods['sourceType'] = "tmshop";
|
break;
|
case 3 :
|
$init_goods['sourceType'] = "tminte";
|
break;
|
}
|
}
|
$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);
|
if($detailPics){
|
$tmp = [];
|
foreach($detailPics as $key => $img){
|
array_push($tmp,$img['img']);
|
}
|
$init_goods['detailPics'] = $tmp;
|
}
|
}else{
|
$init_goods['detailPics'] = $init_goods['imgs'];
|
}
|
$init_goods['isSubdivision'] = isset($goods['isSubdivision']) ? $goods['isSubdivision'] : 0; // 该商品是否有细分类目
|
$init_goods['subdivisionId'] = isset($goods['subdivisionId']) ? $goods['subdivisionId'] : ''; //该商品所属细分类目id
|
$init_goods['subdivisionName'] = isset($goods['subdivisionName']) ? $goods['subdivisionName'] : ''; //该商品所属细分类目名称
|
$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']/100);
|
$init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionRate']/100,self::$topFanliRate);
|
$init_goods['isCollect'] = self::isCollect($init_goods);
|
return $init_goods;
|
}
|
|
|
}
|