private function getTuijianGoods($goods_id='',$nav_arr=array())
{
$gid_group = array();
if(session('member.member_id')){
$member_id = session('member.member_id');
$model=M();
//联合查出收藏过的商品和下过单的商品
// $sql="select goods_id from favorits where member_id=$member_id union (select distinct tb2.goods_id from `order` as tb1 left join `order_info` as tb2 on tb1.id=tb2.order_id where tb1.member_id=$member_id)";
$sql="select goods_id from favorits where member_id=$member_id";
$goods = $model->query($sql);
foreach($goods as $ka=>$va){
if($va['goods_id']!=$goods_id){
$gid_group[] = $va['goods_id'];
}
}
}
//当收藏过的商品和下过单的商品少于3个时就采用首页推荐的商品
$goods_model=M('goods');
$f='id,goods_image,goods_name,goods_image_index';
if(isset($gid_group) && count($gid_group)>=3){
$w['id'] = array('IN',$gid_group);
$w['status']=array('eq',1);
$w['is_del']=array('eq',0);
$goodsList=$goods_model->field($f)->where($w)->limit(12)->select();
shuffle($goodsList);
}else{//跟住商品所在的导航分类寻找
$nav_id='';
$id_arr = '';
foreach($nav_arr as $ka=>$va){
$nav_id[] = $va['id'];
}
$w2['nav_id'] = array('IN',$nav_id);
$w2['status']=array('eq',1);
$w2['is_del']=array('eq',0);
$cache1 = md5($goods_model->field("id")->where($w2)->buildSql());//跟距导航分类查出商品的id集合
if(!S($cache1)){
$nav_arr=$goods_model->field("id")->where($w2)->select();
S($cache1,$nav_arr);
}else{
$nav_arr = S($cache1);
}
foreach($nav_arr as $ka=>$va){
$id_arr[] = $va['id'];
}
if(count($id_arr)>6){//当商品个数不足6个时,选取热销商品
$nid = array_rand(array_flip($id_arr),6);//随机获取元素
$w1['id'] = array('IN',$nid);
}else{
$w1['is_hot'] = array('eq',1);
}
$w1['status']=array('eq',1);
$w1['is_del']=array('eq',0);
$goodsList = $goods_model->where($w1)->field($f)->select();
}
if($goodsList){
shuffle($goodsList);
return $goodsList;
}else{
return false;
}
}