You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zhishifufei_php/application/web/model/recommend/WebRecommend.php

76 lines
2.8 KiB

9 months ago
<?php
// +----------------------------------------------------------------------
// | 天诚科技 [ 刘海东 17600099397赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2020 https://www.tczxkj.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 该系统并不是自由软件,未经许可不能去掉相关版权
// +----------------------------------------------------------------------
// | Author:甘肃天诚志信电子商务有限公司 刘海东 联系电话维系17600099397
// +----------------------------------------------------------------------
namespace app\web\model\recommend;
use app\web\model\user\User;
use basic\ModelBasic;
use traits\ModelTrait;
/**首页导航及首页推荐表
* Class WebRecommend
* @package app\web\model\recommend
*/
class WebRecommend extends ModelBasic
{
use ModelTrait;
/**首页导航
* @return false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public static function getWebRecommend()
{
return self::where(['is_fixed' => 1, 'is_show' => 1])->order('sort desc,add_time desc')
->field(['title', 'type', 'link', 'id'])->limit(0, 8)->select();
}
/**
* @param $uid
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public static function getRecommendIdAll()
{
$all = self::where(['is_show' => 1])->field('id,type')->select();
$idsAll = [];
foreach ($all as $item) {
if (WebRecommendRelation::getRelationCount($item['id'], (int)$item['type'])) array_push($idsAll, $item['id']);
}
return $idsAll;
}
/**
* 获取主页推荐列表
* $page 分页
* $limit
* */
public static function getContentRecommend($is_member)
{
$idsAll = self::getRecommendIdAll();
$model = self::where(['is_show' => 1])->where('id', 'in', $idsAll)
->field(['id', 'title', 'explain', 'type', 'sort', 'show_count']);
$recommend = $model->order('sort desc,add_time desc')->select();
$recommend = count($recommend) ? $recommend->toArray() : [];
foreach ($recommend as &$item) {
$item['sum_count'] = WebRecommendRelation::getRelationCount($item['id'], (int)$item['type']);
$item['list'] = WebRecommendRelation::getRelationList($item['id'], (int)$item['type'], $item['show_count'], $is_member);
$item['courseIndex'] = 1;
}
return compact('recommend');
}
}