2019-09-06 23:53:10 +08:00

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