You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
namespace wstmart\app\model;
 | 
						|
use wstmart\common\model\Favorites as CFavorites;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 *
 | 
						|
 * ============================================================================
 | 
						|
 * 收藏类
 | 
						|
 */
 | 
						|
class Favorites extends CFavorites{
 | 
						|
	/**
 | 
						|
	* 获取会员关注商品数和关注商家数
 | 
						|
	*/ 
 | 
						|
	function getFavoritesNum($userId){
 | 
						|
		$data['goodsFavoritesNum'] = $this->where(['userId'=>$userId,'favoriteType'=>0])->count();
 | 
						|
		$data['shopFavoritesNum'] = $this->where(['userId'=>$userId,'favoriteType'=>1])->count();
 | 
						|
	    return $data;
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	* 获取关注商家数
 | 
						|
	*/ 
 | 
						|
	function getFavoritesShopsNum($shopId=0){
 | 
						|
		$shopId=$shopId==0?(int)input('shopId'):$shopId;
 | 
						|
		return $this->where(['targetId'=>$shopId,'favoriteType'=>1])->cache('true',3600)->count();
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 获取商品是否关注
 | 
						|
	 */
 | 
						|
	function isGetFavorites($goodsId,$userId){
 | 
						|
		$goodsId=$goodsId==0?(int)input('goodsId'):$goodsId;
 | 
						|
		$userId=$userId==0?(int)input('userId'):$userId;
 | 
						|
		return $this->where(['userId'=>$userId,'favoriteType'=>0,'targetId'=>$goodsId])->find();
 | 
						|
	}
 | 
						|
	/**
 | 
						|
	 * 上新的店铺列表
 | 
						|
	 */
 | 
						|
	public function listShopQuery(){
 | 
						|
		$pagesize = input("param.pagesize/d",5);
 | 
						|
		$goodsSize = input("param.goodsSize/d",6);
 | 
						|
		$userId = 0;//(int)session('WST_USER.userId');0就是显示所有商铺
 | 
						|
		if($userId){
 | 
						|
			$page = db("favorites")->alias('f')
 | 
						|
			->join('__SHOPS__ s','s.shopId = f.targetId','left')
 | 
						|
			->field('f.favoriteId,f.targetId,s.shopId,s.shopName,s.shopImg')
 | 
						|
			->where(['f.userId'=> $userId,'favoriteType'=> 1])//'s.shopId'=>['in','1,2,3,6,20']])			
 | 
						|
			->order('f.favoriteId desc')
 | 
						|
			->paginate($pagesize)->toArray();
 | 
						|
			
 | 
						|
		}else{
 | 
						|
			$page = db("shops s")
 | 
						|
				->join('__GOODS__ g','s.shopId = g.shopId','left')
 | 
						|
				->field('s.shopId,count(goodsId) as goodsNum,s.shopName,s.shopImg')
 | 
						|
				->where(['g.isSale'=>1, 'g.goodsStatus'=>1,'g.dataFlag'=>1])
 | 
						|
				->group('g.shopId')
 | 
						|
				->order('saleTime DESC')
 | 
						|
				->cache(true,7200)
 | 
						|
				->paginate($pagesize)
 | 
						|
				->toArray();
 | 
						|
		}
 | 
						|
		foreach ($page['Rows'] as  &$v){
 | 
						|
			$field = 'goodsId,goodsImg,saleTime';//goodsName,shopPrice,
 | 
						|
			$goods = db('goods')
 | 
						|
				->where(['dataFlag'=> 1,'isSale'=>1,'goodsStatus'=> 1,'shopId'=> $v["shopId"]])
 | 
						|
				->field($field)
 | 
						|
				->cache(true,7200)
 | 
						|
				->limit($goodsSize)
 | 
						|
				->order('saleTime desc')
 | 
						|
				->select();
 | 
						|
			if($goods){
 | 
						|
				$v['newTime'] = $goods['0']['saleTime'];			
 | 
						|
			}else{
 | 
						|
				$v['newTime'] = date('Y-m-d');
 | 
						|
			}
 | 
						|
			$v['goods'] = $goods;			
 | 
						|
		}
 | 
						|
		return $page;
 | 
						|
	}
 | 
						|
}
 |