| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- <?php
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Created by Yunbao
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Copyright (c) 2013~2022 http://www.yunbaokj.com All rights reserved.
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Author: https://gitee.com/yunbaokeji
 
- // +—————————————————————————————————————————————————————————————————————
 
- // | Date: 2022-02-17
 
- // +—————————————————————————————————————————————————————————————————————
 
- /**
 
-  * 直播监控
 
-  */
 
- namespace app\admin\controller;
 
- use cmf\controller\AdminBaseController;
 
- use think\Db;
 
- class MonitorController extends AdminbaseController {
 
-     public function index(){
 
- 		$config=getConfigPri();
 
- 		$this->config=$config;
 
- 		$this->assign('config', $config);
 
-         
 
-         $lists = Db::name("live")
 
-             ->where(['islive'=>1,'isvideo'=>0])
 
- 			->order("starttime desc")
 
- 			->paginate(6);
 
-         
 
-         $lists->each(function($v,$k){
 
- 			$v['userinfo']=getUserInfo($v['uid']);
 
-             if($this->config['cdn_switch']==5){
 
-                 $auth_url=$v['pull'];
 
-             }else{
 
-                 $auth_url=PrivateKeyA('http',$v['stream'].'.flv',0);
 
-             }
 
-             $v['url']=$auth_url;
 
-             return $v; 
 
-         });
 
-         
 
-         $page = $lists->render();
 
-     	$this->assign('lists', $lists);
 
-     	$this->assign("page", $page);
 
-     	
 
-     	return $this->fetch();
 
-     }
 
-     
 
- 	public function full()
 
- 	{
 
-         $uid = $this->request->param('uid', 0, 'intval');
 
-         
 
-         $where['islive']=1;
 
-         $where['uid']=$uid;
 
-         
 
- 		$live=Db::name("live")->where($where)->find();
 
- 		$config=getConfigPri();
 
-         
 
- 		if($live['title']=="")
 
- 		{
 
- 			$live['title']="直播监控后台";
 
- 		}
 
-         
 
- 		$pull=urldecode(PrivateKeyA('http',$live['stream'].'.flv',0));
 
-      
 
- 		$live['pull']=$pull;
 
- 		$this->assign('config', $config);
 
- 		$this->assign('live', $live);
 
-         
 
- 		return $this->fetch();
 
- 	}
 
- 	public function stopRoom(){
 
-         
 
- 		$uid = $this->request->param('uid', 0, 'intval');
 
-         
 
-         $where['islive']=1;
 
-         $where['uid']=$uid;
 
-         
 
- 		$liveinfo=Db::name("live")->field("uid,showid,starttime,title,province,city,stream,lng,lat,type,type_val,liveclassid")->where($where)->find();
 
-         
 
- 		Db::name("live")->where(" uid='{$uid}'")->delete();
 
-         
 
- 		if($liveinfo){
 
- 			$liveinfo['endtime']=time();
 
- 			$liveinfo['time']=date("Y-m-d",$liveinfo['showid']);
 
-             
 
-             $where2=[];
 
-             $where2['touid']=$uid;
 
-             $where2['showid']=$liveinfo['showid'];
 
-             
 
- 			$votes=Db::name("user_coinrecord")
 
- 				->where($where2)
 
- 				->sum('totalcoin');
 
- 			$liveinfo['votes']=0;
 
- 			if($votes){
 
- 				$liveinfo['votes']=$votes;
 
- 			}
 
-             
 
-             $stream=$liveinfo['stream'];
 
- 			$nums=zSize('user_'.$stream);
 
- 			hDel("livelist",$uid);
 
- 			delcache($uid.'_zombie');
 
- 			delcache($uid.'_zombie_uid');
 
- 			delcache('attention_'.$uid);
 
- 			delcache('user_'.$stream);
 
- 			
 
- 			
 
- 			$liveinfo['nums']=$nums;
 
- 			
 
- 			Db::name("live_record")->insert($liveinfo);
 
-             
 
-  
 
- 		}
 
- 		$this->success("操作成功!");
 
- 	}				
 
- }
 
 
  |