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;
|
|
}
|
|
}
|