From 4c371fd816404d4d64aba200df36ceb4be7e4f8a Mon Sep 17 00:00:00 2001 From: heyuntao <heyuntao@LAPTOP-MP4HD5NS> Date: 星期五, 14 七月 2023 12:15:06 +0800 Subject: [PATCH] no message --- application/api/logic/taoke/Search.php | 87 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 70 insertions(+), 17 deletions(-) diff --git a/application/api/logic/taoke/Search.php b/application/api/logic/taoke/Search.php index 31be576..0d8c6c9 100644 --- a/application/api/logic/taoke/Search.php +++ b/application/api/logic/taoke/Search.php @@ -143,9 +143,11 @@ //鏍规嵁浼犲叆鐨勫唴瀹硅皟鐢╝st鏂规硶 $goods = $this->ast($content); $title = ''; + $newGoods = []; //鍒ゆ柇goods鏄惁涓虹┖ if(empty($goods)){ $title = $content; + $newGoods=array_merge($newGoods,$goods); } else{ $title = $goods['title']; @@ -157,30 +159,81 @@ $LogicHaodanku = new LogicHaodanku(); $LogicDataoke=new LogicDataoke(); //鏍规嵁鏍囬鏌ヨ澶╃尗鍟嗗搧 - $newGoods = $LogicDataoke->superSearch($title,1,5,0,1); + $tmGoods = $LogicDataoke->superSearch($title,1,20,0,1); + //鍘婚櫎閿�閲忎负0鐨勫晢鍝佸苟鎸夌収浠锋牸鎺掑簭 + $tmGoods = array_filter($tmGoods,function($v){ + return $v['monthSales'] > 0; + }); + //鎸夌収浠锋牸鎺掑簭 + $sort1 = array_column($tmGoods, 'actualPrice'); + array_multisort($sort1, SORT_ASC, $tmGoods); + // $newGoods =array_merge($newGoods,array_slice($tmGoods,0,5)); + //鏍规嵁鏍囬鏌ヨ浜笢鑷惀鍟嗗搧 - $newGoods =array_merge($newGoods,$LogicJd->searchGoods($title,'desc','g',0,'match',1,5)); + $jdGoods=$LogicJd->searchGoods($title,'desc','g',0,'match',1,20); + //鍘婚櫎閿�閲忎负0鐨勫晢鍝佸苟鎸夌収浠锋牸鎺掑簭 + $jdGoods = array_filter($jdGoods,function($v){ + return $v['monthSales'] > 0; + }); + //鎸夌収浠锋牸鎺掑簭 + $sort1 = array_column($jdGoods, 'actualPrice'); + array_multisort($sort1, SORT_ASC, $jdGoods); + // $newGoods =array_merge($newGoods,array_slice($jdGoods,0,5)); + + $ppdGoodes=[]; //鏍规嵁鏍囬鏌ヨ鎷煎澶氬晢鍝� if(!empty($common_relation_id)){ - $ppdGoodes=$LogicPdd->searchGoods($title,'',$common_relation_id,'',1,10,0,''); - $newGoods =array_merge($newGoods,array_slice($ppdGoodes,0,5)); + $ppdGoodes=$LogicPdd->searchGoods($title,'',$common_relation_id,'',1,20,0,''); + //鍘婚櫎閿�閲忎负0鐨勫晢鍝佸苟鎸夌収浠锋牸鎺掑簭 + $ppdGoodes = array_filter($ppdGoodes,function($v){ + return $v['monthSales'] > 0; + }); + //鎸夌収浠锋牸鎺掑簭 + $sort1 = array_column($ppdGoodes, 'actualPrice'); + array_multisort($sort1, SORT_ASC, $ppdGoodes); + // $newGoods =array_merge($newGoods,array_slice($ppdGoodes,0,5)); } //鏍规嵁鏍囬鏌ヨ鎶栭煶鍟嗗搧 - $newGoods =array_merge($newGoods,$LogicHaodanku->getDygoodsList('',$title,0,1,5)); - if(count($newGoods)<20){ - //鏍规嵁鏍囬鏌ヨ娣樺疂鍟嗗搧 - // $newGoods =array_merge($newGoods,$LogicDataoke->superSearch($title,1,5,0,0)); - //鏍规嵁鏍囬鏌ヨ浜笢POP鍟嗗搧 - // $newGoods =array_merge($newGoods,$LogicJd->searchGoods($title,'desc','p',0,'match',1,5)); - //鏍规嵁鏍囬鏌ヨ鍞搧浼氬晢鍝� - // $newGoods =array_merge($newGoods,$LogicDingdanxia->superSearch($goods['title'],'wph','t')); - } - //灏唍ewGoods鎸夌収浠锋牸鎺掑簭 - $sort1 = array_column($newGoods, 'actualPrice'); + $dyGoods =$LogicHaodanku->getDygoodsList('',$title,0,1,20); + //鍘婚櫎閿�閲忎负0鐨勫晢鍝佸苟鎸夌収浠锋牸鎺掑簭 + $dyGoods = array_filter($dyGoods,function($v){ + return $v['monthSales'] > 0; + }); + //鎸夌収浠锋牸鎺掑簭 + $sort1 = array_column($dyGoods, 'actualPrice'); + array_multisort($sort1, SORT_ASC, $dyGoods); + // $newGoods =array_merge($newGoods,array_slice($dyGoods,0,5)); - array_multisort($sort1, SORT_ASC, $newGoods); - log::write("goodsList:".json_encode($newGoods)); + $goodscount=count(array_slice($tmGoods,0,5))+count(array_slice($jdGoods,0,5))+count(array_slice($ppdGoodes,0,5))+count(array_slice($dyGoods,0,5)); + if($goodscount<20){ + //濡傛灉goodscount涓嶆弧瓒�20鍒欎粠澶╃尗鍟嗗搧閲岃ˉ瓒�20 + $needcount=20-$goodscount+5; + $newGoods =array_merge($newGoods,array_slice($tmGoods,0,$needcount)); + $newGoods =array_merge($newGoods,array_slice($jdGoods,0,5)); + $newGoods =array_merge($newGoods,array_slice($ppdGoodes,0,5)); + $newGoods =array_merge($newGoods,array_slice($dyGoods,0,5)); + + } + else{ + $newGoods =array_merge($newGoods,array_slice($tmGoods,0,5)); + $newGoods =array_merge($newGoods,array_slice($jdGoods,0,5)); + $newGoods =array_merge($newGoods,array_slice($ppdGoodes,0,5)); + $newGoods =array_merge($newGoods,array_slice($dyGoods,0,5)); + } + //濡傛灉杩樻槸涓嶆弧瓒�20鍒欎粠娣樺疂鍟嗗搧閲岃ˉ瓒�20 + if(count($newGoods)<20){ + $tbGoods = $LogicDataoke->superSearch($title,1,20,0,0); + //鍘婚櫎閿�閲忎负0鐨勫晢鍝佸苟鎸夌収浠锋牸鎺掑簭 + $tbGoods = array_filter($tbGoods,function($v){ + return $v['monthSales'] > 0&&$v['shopType']=='娣樺疂'; + }); + //鎸夌収浠锋牸鎺掑簭 + $sort1 = array_column($tbGoods, 'actualPrice'); + array_multisort($sort1, SORT_ASC, $tbGoods); + $newGoods =array_merge($newGoods,array_slice($tbGoods,0,20)); + } + //鍙栧嚭鍓�20涓晢鍝� $goodsList = array_slice($newGoods,0,20); return $goodsList; -- Gitblit v1.9.3