| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- namespace app\index\controller;
- use app\index\service\AdvertService;
- use app\index\service\JiamengService;
- use app\index\service\NewsService;
- use app\index\service\RedisService;
- use cmf\controller\HomeBaseController;
- use think\Db;
- class Top10Controller extends HomeBaseController
- {
- public function index()
- {
- $cacheKey = "cache:top_pages:index";
- $pageHtml = RedisService::get($cacheKey);
- if($pageHtml){
- return $pageHtml;
- }
- $areaList = config('params.areaList');
- //top10
- $top10 = Db::name('jiameng')
- ->where('status', 1)
- ->field('id,title,logo,hits,area_id,mendian,touzi_level,product,thumb')
- ->order('hits desc')->limit(10)
- ->select()
- ->each(function($item, $k) use ($areaList){
- $cacheKey = 'jiameng:searchCount1:'.$item['id'];
- $searchCount = RedisService::get($cacheKey);
- if($searchCount){
- $item['search_count'] = $searchCount;
- }else{
- $item['search_count'] = rand(2000,200000);
- RedisService::set($cacheKey, $item['search_count'], 3600);
- }
- $areaId = isset($item['area_id']) && $item['area_id']? intval($item['area_id']) : '-1';
- $item['area'] = isset($areaList[$areaId])? $areaList[$areaId] : '不限';
- return $item;
- });
- //飙升榜
- $zengzhang10 = Db::name('jiameng')->where('status',1)
- ->field('id,title,logo,area_id,hits,mendian,touzi_level,product')
- ->order('list_order')
- ->limit(10)
- ->select()
- ->each(function($item, $k) use ($areaList){
- $cacheKey = 'jiameng:searchCount2:'.$item['id'];
- $searchCount = RedisService::get($cacheKey);
- if($searchCount){
- $item['search_count'] = $searchCount;
- }else{
- $item['search_count'] = rand(2000,200000);
- RedisService::set($cacheKey, $item['search_count'], 3600);
- }
- $areaId = isset($item['area_id']) && $item['area_id']? intval($item['area_id']) : '-1';
- $item['area'] = isset($areaList[$areaId])? $areaList[$areaId] : '不限';
- return $item;
- });;
- //推荐
- $tuijian = JiamengService::getNewList(cmf_is_mobile()? 6 : 15);
- $touziarr = config('params.touziLevels');
- // 最新新闻
- $zuixin_news = NewsService::getRandList(cmf_is_mobile()? 6 : 16);
- // 轮播
- $banner = AdvertService::getListBySlide(7, 1);
- // 新品推荐上方广告
- $banner1 = AdvertService::getListBySlide(9, 1);
- // 品牌严选
- $brands4 = JiamengService::getListByLevel(4, 14);
- $this->assign('banner',$banner);
- $this->assign('banner1',$banner1);
- $this->assign('brands4',$brands4);
- $this->assign('zuixin_news',$zuixin_news);
- $this->assign('tuijian',$tuijian);
- $this->assign('zengzhang10',$zengzhang10);
- $this->assign('touziarr',$touziarr);
- $this->assign('top10',$top10);
- $pageHtml = $this->fetch();
- RedisService::set($cacheKey, $pageHtml, 24 * 3600);
- return $pageHtml;
- }
- public function show(){
- return $this->fetch();
- }
- public function cate(){
- $param = $this->request->param();
- $lists = array();
- //字分类
- $soncate = array();
- if(isset($param['catname'])){
- $catinfo = Db::name('category')->where('enname',$param['catname'])->find();
- if(empty($catinfo)){
- header("Location:".url('/404'));
- exit;
- }
- $map = array();
- $new_map['status'] = 3;
- if($catinfo['parent_id']>0){
- $new_map['catid'] = $catinfo['id'];
- //字分类
- $map['catid'] = $catinfo['id'];
- $soncate = Db::name('category')->where('parent_id',$catinfo['parent_id'])->order('list_order')->limit(14)->select();
- }else{
- //父分类
- $map['pcatid'] = $catinfo['id'];
- $soncate = Db::name('category')->where('parent_id',$catinfo['id'])->order('list_order')->limit(14)->select();
- // $new_map['catid'] = $soncate[0]['id'];
- $soncate_arr = array();
- foreach($soncate as $kk=>$vv){
- $soncate_arr[] = $vv['id'];
- }
- // print_r($soncate_arr);exit;
- $new_map = [['catid','in',$soncate_arr]];
- }
- $lists = Db::name('jiameng')->field('id,title,thumb,area,touzi_level,fromyear,company,product')->where($map)->order('hits desc')->limit(10)->select();
- //排行
- $paihang = Db::name('jiameng')->field('id,title,touzi_level,touzi')->where($map)->order('list_order desc')->limit(10)->select();
- $zuixin = Db::name('jiameng')->field('id,title,touzi_level,touzi')->where($map)->order('id desc')->limit(10)->select();
- //火热招生
- $huore = Db::name('jiameng')->field('id,title,touzi_level,product,mendian,thumb')->where($map)->orderRaw('rand()')->limit(10)->select();
- }else{
- $lists = Db::name('jiameng')->field('id,title,thumb,area,touzi_level,fromyear,company,product')->order('hits desc')->limit(10)->select();
- }
-
- $touziarr = array(
- '1万元以下',
- '1~5万元',
- '5~10万元',
- '10~20万元',
- '20~50万元',
- '50~100万元',
- '100万元以上',
- '200万元以上',
- '300万元以上'
- );
- $parcate = Db::name('category')->where('parent_id',0)->order('list_order')->select();
- $this->assign('soncate',$soncate);
- //最新新闻
- $zuixin_news = Db::name('news')->where($new_map)->order('id desc')->limit(10)->select();
- //最热新闻
- $hot_news = Db::name('news')->where($new_map)->order('hits desc')->limit(10)->select();
- //推荐
- $tuijian = Db::name('jiameng')->field('id,title,logo,hits,touzi_level,mendian')->where($map)->orderRaw('rand()')->limit(4)->select();
- $article_cates = ['加盟快讯','新店开业','店铺选址','加盟指南','品牌新闻','品牌人物'];
- // $article_encate = ['zixun'=>0,'kaiye'=>1,'xuanzhi'=>2,'zhinan'=>3,'xinwen'=>4,'renwu'=>5];
- $article_encate = ['zixun','kaiye','xuanzhi','zhinan','xinwen','renwu'];
- $this->assign('parcate',$parcate);
- $this->assign('article_cates',$article_cates);
- $this->assign('article_encate',$article_encate);
- $this->assign('huore',$huore);
- $this->assign('zuixin',$zuixin);
- $this->assign('paihang',$paihang);
- $this->assign('tuijian',$tuijian);
- $this->assign('zuixin_news',$zuixin_news);
- $this->assign('hot_news',$hot_news);
- $this->assign('touziarr',$touziarr);
- $this->assign('lists',$lists);
- $this->assign('catinfo',$catinfo);
- //seo
- $site_info = cmf_get_site_info();
- $seo_title = str_replace('|',$catinfo['catname'],$site_info['site_seo_title_toplist']);
- $seo_keywords = str_replace('|',$catinfo['catname'],$site_info['site_seo_keywords_toplist']);
- $seo_desc = str_replace('|',$catinfo['catname'],$site_info['site_seo_desc_toplist']);
- $this->assign('seo_title',$seo_title);
- $this->assign('seo_keywords',$seo_keywords);
- $this->assign('seo_desc',$seo_desc);
- return $this->fetch();
- }
- }
- ?>
|