public function video_list_order(){
try{
//处理搜索条件
$map = [];
//分类:0文章;1视频;2直播
$map[] = ['art_type','=',"1"];
//是否删除:0否;1是
$map[] = ['is_delete','=',"0"];
//标题搜索
$title = Request::param('title','');
if($title != ''){
$map[] = ['title','like',"%{$title}%"];
}
//分类搜索
$class_id = Request::param('class_id','');
if($class_id != ''){
$map[] = ['class_id','=',"$class_id"];
}
//审核状态(0:待提交;1:待审核;2:审核通过;3:审核拒绝)
$status = Request::param('status','');
if($status !== ''){
$map[] = ['status','=',"$status"];
}
//是否启用:0禁用;1启用
$is_enabled = Request::param('is_enabled','');
if($is_enabled !== ''){
$map[] = ['is_enabled','=',"$is_enabled"];
}
//发布者
$nick_name = Request::param('nick_name','');
if($nick_name != ''){
$map[] = ['nick_name','like',"%$nick_name%"];
}
//视频标签
$article_label_name = Request::param('article_label_name','');
if($article_label_name != ''){
$map[] = ['article_label_name','like',"%$article_label_name%"];
}
$list = Db::table('rui_article')->where($map)
->fieldRaw("(CASE
WHEN all_num=0 THEN TRUNCATE(0,0)
ELSE TRUNCATE(wan_num/all_num*100,0) END) as CompletionRate,id,title,art_type,cover_type,cover_images,label_id,
label_name,article_label_id,article_label_name,status,uid,nick_name,avatar,status,class_id,class_name,
zan_num,virtual_views_num,view_num,collect_num,comment_num,share_num,
is_rec,is_top,is_enabled,is_delete,create_time,update_time,video_url,video_other_url,
wan_num as FinishBroadcasting,wei_num as UnfinishedBroadcasting,all_num as Broadcasting")
->order('CompletionRate','desc')
->order('id','desc')
->page(Request::param('page'))->limit(Request::param('limit'))
->select()->toArray();
foreach ($list as $k=>$v){
$list[$k]['is_rec_bool'] = $v['is_rec'] == 1 ? true :false;
$list[$k]['is_top_bool'] = $v['is_top'] == 1 ? true :false;
$list[$k]['is_enabled_bool'] = $v['is_enabled'] == 1 ? true :false;
$list[$k]['is_delete_bool'] = $v['is_delete'] == 1 ? true :false;
if(!$v['video_url']){
$list[$k]['video_url'] = $v['video_other_url'];
}
$list[$k]['CompletionRate'] = "{$v['CompletionRate']}%";
}
$arr['list'] = $list;
$arr['count'] = Db::table('rui_article')
->where($map)->count();
}catch (ValidateException $e) {
// 验证失败 输出错误信息
throw new ParameterException(['msg'=>$e->getError()]);
}
return $arr;
}
$chanpinmaidian_arr = ArticleModel::whereRaw("art_type=1 and status=2 and is_enabled=1 and is_delete=0 and ($chanpinmaidian_map)")
->field('id,title,nick_name,art_type,video_url,video_other_url,zan_num,comment_num,share_num,is_coin_fuli')
->order('id','desc')
->page($page_rand)->limit(1)
->select()->toArray();