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

68 lines
2.9 KiB
PHP
Executable File

<?php
namespace wstmart\wechat\model;
use wstmart\common\model\Tags as T;
use think\Db;
/**
* ============================================================================
* 默认类
*/
class Index extends Base{
/**
* 楼层
*/
public function pageQuery(){
$limit = (int)input('post.currPage');
if($limit>9)return;
$cacheData = cache('WX_CATS_ADS'.$limit);
if($cacheData)return $cacheData;
$rs = Db::name('goods_cats')->where(['dataFlag'=>1,'isShow'=>1,'parentId'=>0,'isFloor'=>1])->field('catId,catName')->order('catSort asc')->limit($limit,1)->select();
if($rs){
$rs= $rs[0];
$t = new T();
$rs['ads'] = $t->listAds('wx-ads-'.$limit,'1');
$rs['goods'] = Db::name('goods')->alias('g')->join('__RECOMMENDS__ r','g.goodsId=r.dataId')->join('__GOODS_SCORES__ gs','gs.goodsId=g.goodsId')
->where(['r.goodsCatId'=>$rs['catId'],'g.isSale'=>1,'g.dataFlag'=>1,'g.goodsStatus'=>1,'r.dataSrc'=>0,'r.dataType'=>1])
->field('g.goodsId,g.goodsName,g.goodsImg,g.shopPrice,g.marketPrice,g.saleNum,gs.totalScore,gs.totalUsers')->order('r.dataSort asc')->limit(8)->select();
if(empty($rs['goods'])){
$rs['goods'] = Db::name('goods')->alias('g')->join('__GOODS_SCORES__ gs','gs.goodsId=g.goodsId')
->where(['g.goodsCatIdPath'=>['like',$rs['catId'].'_%'],'g.isSale'=>1,'g.dataFlag'=>1,'g.goodsStatus'=>1,'g.isHot'=>1])
->field('g.goodsId,g.goodsName,g.goodsImg,g.shopPrice,g.marketPrice,g.saleNum,gs.totalScore,gs.totalUsers')
->order('saleNum desc,goodsId asc')->limit(8)->select();
}
if($rs['goods']){
foreach ($rs['goods'] as $key =>$v){
$rs['goods'][$key]['praiseRate'] = ($v['totalScore']>0)?(sprintf("%.2f",$v['totalScore']/($v['totalUsers']*15))*100).'%':'100%';
}
}
$rs['currPage'] = $limit;
}
cache('WX_CATS_ADS'.$limit,$rs,86400);
return $rs;
}
/**
* 获取系统消息
*/
function getSysMsg($msg='',$order='',$follow='',$history=''){
$data = [];
$userId = (int)session('WST_USER.userId');
if($msg!=''){
$data['message']['num'] = Db::name('messages')->where(['receiveUserId'=>$userId,'msgStatus'=>0,'dataFlag'=>1])->count();
}
if($order!=''){
$data['order']['waitPay'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>-2,'dataFlag'=>1])->count();
$data['order']['waitSend'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>0,'dataFlag'=>1])->count();
$data['order']['waitReceive'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>1,'dataFlag'=>1])->count();
$data['order']['waitAppraise'] = Db::name('orders')->where(['userId'=>$userId,'orderStatus'=>2,'isAppraise'=>0,'dataFlag'=>1])->count();
}
if($follow!=''){
$data['follow']['goods'] = Db::name('favorites')->where(['userId'=>$userId,'favoriteType'=>0])->count();
$data['follow']['shops'] = Db::name('favorites')->where(['userId'=>$userId,'favoriteType'=>1])->count();
}
if($history!=''){
$history = cookie("wx_history_goods");
$data['history']['num'] = count($history);
}
return $data;
}
}