From 8c00bd0245ca4756ca04483a4980ad202714e43e Mon Sep 17 00:00:00 2001 From: zhaojs <349234519@qq.com> Date: 星期四, 20 七月 2023 09:40:44 +0800 Subject: [PATCH] Merge branch 'release/v1.1.4发布' --- application/api/logic/taoke/device/Dataoke.php | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 276 insertions(+), 9 deletions(-) diff --git a/application/api/logic/taoke/device/Dataoke.php b/application/api/logic/taoke/device/Dataoke.php index d48a5ef..08de0fe 100644 --- a/application/api/logic/taoke/device/Dataoke.php +++ b/application/api/logic/taoke/device/Dataoke.php @@ -3,6 +3,7 @@ use app\api\logic\taoke\Parser; use app\api\logic\taoke\device\Haodanku as LogicHaodanku; +use think\log; class Dataoke extends Parser { @@ -30,8 +31,14 @@ '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' + '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', + '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' ]; const shop_type = ["0"=>"娣樺疂","1"=>"澶╃尗","2"=>"澶╃尗瓒呭競","3"=>"澶╃尗鍥介檯"]; @@ -97,6 +104,27 @@ return $data; } + + + /** + * 浜笢9.9鍖呴偖 https://www.dataoke.com/pmc/api-d.html?id=66 + * + */ + public function jdNine($pageId,$pageSize) + { + $params = $this->setParams(['pageId'=>$pageId,'pageSize' => $pageSize]); + $result = send_get(self::request_url['jdnines_url'],$params); + if(empty($result) || $result['code'] != 0) return []; + $list = $result['data']['list']; + $list_new=[]; + if(!empty($list)){ + foreach($list as &$goods){ + $goods = self::initJdGoods($goods); + array_push($list_new,$goods); + } + } + return $list_new; + } /** * 澶ф窐瀹㈢柉鎶㈡ @@ -117,6 +145,73 @@ $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; + } + + /** + * 鍘嗗彶鏂颁綆鍟嗗搧 + */ + public function bottomPrice($pageSize,$pageId,$cids,$sort) + { + if($cids==0) + { + $cids=""; + } + $params_data = [ + 'pageSize'=>$pageSize, + 'pageId' =>$pageId, + 'cids' => $cids, + 'sort'=>$sort + ]; + $params = $this->setParams($params_data); + $result = send_get(self::request_url['bottom_price_url'],$params); + if(empty($result) || $result['code'] != 0) return []; + $list = $result['data']['list']; + if(!empty($list)){ + foreach($list as &$goods){ + $goods = self::GetGoodsFy($goods,$goods["actualPrice"],$goods["commissionRate"]); + } + } + $result['data']['list']=$list; + return $result; + } + /** * 鑾峰彇涓撹緫鍒楄〃 @@ -207,10 +302,35 @@ * @param mixed 澶ф窐瀹㈢殑浜岀骇绫荤洰id锛岄�氳繃瓒呯骇鍒嗙被API鑾峰彇銆備粎鍏佽浼犱竴涓簩绾d锛屽綋涓�绾х被鐩甶d鍜屼簩绾х被鐩甶d鍚屾椂浼犲叆鏃讹紝浼氳嚜鍔ㄥ拷鐣ヤ簩绾х被鐩甶d * @return void */ - public function getGoodsList($cids,$subcid,$sort=0,$page = 1,$page_size,$tchaoshi=0) + 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 []; @@ -263,20 +383,23 @@ * @param [type] $nineCid 9.9绮鹃�夌殑绫荤洰id锛屽垎绫籭d璇锋眰璇︽儏锛�-1-绮鹃�夛紝1 -5.9鍏冨尯锛�2 -9.9鍏冨尯锛�3 -19.9鍏冨尯锛堣皟鏁村瓧娈碉級 * @return void */ - public function getOpGoodsList($nineCid,$page = 1,$page_size) + public function getOpGoodsList($nineCid,$page = 1,$page_size,$excludecid=[]) { $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']; - + $list_new=[]; if(!empty($list)){ foreach($list as &$goods){ + //鎺掗櫎鎸囧畾鍒嗙被 + if(!empty($excludecid) && in_array($goods['cid'],$excludecid)) continue; $goods = self::initGoods($goods); + array_push($list_new,$goods); } } - return $list; + return $list_new; } @@ -304,9 +427,9 @@ * * @return void */ - public function superSearch($keyWords,$page = 1,$page_size,$sort) + public function superSearch($keyWords,$page = 1,$page_size,$sort,$tmall=0) { - $params = $this->setParams(['type'=>"0",'keyWords'=>$keyWords,'type'=>0,'pageId'=>$page,'pageSize'=>$page_size,'sort'=>$sort]); + $params = $this->setParams(['type'=>"0",'keyWords'=>$keyWords,'type'=>0,'pageId'=>$page,'pageSize'=>$page_size,'sort'=>$sort,'tmall'=>$tmall]); $result = send_get(self::request_url['super_search_url'],$params); if(empty($result) || $result['code'] != 0) return []; $list = $result['data']['list']; @@ -629,7 +752,7 @@ $result2 = send_get(self::request_url['goods_detail_url'],$params); - if(empty($result2) || $result2['code'] != 0) fault('鍟嗗搧淇℃伅鑾峰彇澶辫触'); + if(empty($result2) || $result2['code'] != 0) return []; $goods = $result2['data']; @@ -639,6 +762,148 @@ 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){ + // //鍒犻櫎浣i噾灏忎簬4鐨勫晢鍝� + // $list=array_diff_key($data, ['id'=>$goods['id']]); + // } + + } + } + + return $list; + } + + /** + * 浜笢鏁版嵁 + */ + private static function initJdGoods($goods) + { + if(empty($goods)) return []; + $init_goods = self::goodsField(); + $init_goods['id'] = isset($goods['skuId']) ? $goods['skuId'] : ''; + $init_goods['goodsId'] =(isset($goods['skuId']) && !empty($goods['skuId']) ? $goods['skuId'] : (isset($goods['skuId']) ? $goods['skuId'] : '')); //鍟嗗搧id + $init_goods['itemLink'] = isset($goods['materialUrl']) ? $goods['materialUrl'] : ''; //鍟嗗搧閾炬帴 + $init_goods['title'] = isset($goods['skuName']) ? $goods['skuName'] : ''; //鍟嗗搧鏍囬 + $init_goods["dtitle"] = isset($goods['skuName']) ? $goods['skuName'] : ''; //鐭爣棰� + if(empty($init_goods['dtitle'])) $init_goods['skuName'] = $init_goods['skuName']; + $init_goods["actualPrice"] = isset($goods['actualPrice']) ? $goods['actualPrice'] : ''; //鍒稿悗浠� + $init_goods["originalPrice"] = isset($goods['originPrice']) ? $goods['originPrice'] : ''; //鍟嗗搧鍘熶环 + if(isset($goods['originPrice']))$init_goods["originPrice"] = $goods['originPrice']; + $init_goods["sellerId"] = isset($goods['shopId']) ? $goods['shopId'] : ''; //搴楅摵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['goodsCommentShare']) ? $goods['goodsCommentShare'] : ''; //鎻忚堪鍒� + //$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['couponAmount']) ? $goods['couponAmount'] : ''; //浼樻儬鍒搁噾棰� + $init_goods["monthSales"] = isset($goods['inOrderCount30Days']) ? format_number($goods['inOrderCount30Days']) : 0; //30澶╅攢閲� + $init_goods['twoHoursSales'] = isset($goods['inOrderCount30Days']) ? format_number($goods['inOrderCount30Days']) : 0; // + //$init_goods['specialText'] = isset($goods['specialText']) ? $goods['specialText'] : []; + $init_goods["mainPic"] = isset($goods['picMain']) ? $goods['picMain'] : ''; //鍟嗗搧涓诲浘 + //$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'] = "jd"; + /* 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['extensionContent']) ? $goods['extensionContent'] : ''; //鎺ㄥ箍鏂囨 + $init_goods['imgs'] = isset($goods['smallImages']) ? $goods['smallImages'] : []; + empty($goods['smallImages'])&& $init_goods['smallImages'] =explode(",",$goods['smallImages']); + //!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['faction']='j'; + /* $init_goods['isSubdivision'] = isset($goods['isSubdivision']) ? $goods['isSubdivision'] : 0; // 璇ュ晢鍝佹槸鍚︽湁缁嗗垎绫荤洰 + $init_goods['subdivisionId'] = isset($goods['subdivisionId']) ? $goods['subdivisionId'] : ''; //璇ュ晢鍝佹墍灞炵粏鍒嗙被鐩甶d + $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['commissionShare']/100); + $init_goods['topFanli'] = self::rebate($goods['actualPrice'],$goods['commissionShare']/100,self::$topFanliRate); + $init_goods['isCollect'] = self::isCollect($init_goods); + return $init_goods; + } /** * 鏍煎紡鍖栧晢鍝佷俊鎭� @@ -718,6 +983,8 @@ $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); + //琛ュ厖杩斿洖鍊煎晢鍝佺被鐩� + $init_goods['cid'] = isset($goods['cid']) ? $goods['cid'] : ''; return $init_goods; } -- Gitblit v1.9.3