| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Created by PhpStorm.
- * User: ring
- * Date: 2019/8/11
- * Time: 上午11:49
- */
- namespace App\Hook;
- use App\Http\Controllers\Controller;
- use App\Models\AppSettings;
- use App\Models\Users;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Cache;
- use App\Models\Rome;
- use App\Api\Util\IM;
- use App\Models\Live;
- use App\Models\LiveRome;
- use App\Models\MoreRome;
- use App\Models\LiveStatistics;
- class LiveStopCallback extends Controller
- {
- use IM;
- public function index(Request $request){
- $event_type=$request->get('event_type');
-
- $stream_id=$request->get('stream_id');
- info('xxxx='.$stream_id);
- $stream_id=substr($stream_id,strripos($stream_id,"_")+1);
- info('xxxx22='.$stream_id);
- if($event_type==0){//断流
- $rome= Rome::where('uid',$stream_id)->where('end',0)->first();
- if($rome){
- Rome::where('uid',$stream_id)->where('end',0)->update(['end'=>time()]);
- $ginfo=$this->closeGroup($rome->id,0);
- }
- $live= Live::where('uid',$stream_id)->where('status',0)->first();
- if($live){
- Live::where('uid',$stream_id)->where('status',0)->update(['status'=>1]);
- $ginfo=$this->closeGroup($live->id,1);
- }
- ///2
- $liverome= LiveRome::where('uid',$stream_id)->where('status',0)->first();
- if($liverome){
- LiveRome::where('uid',$stream_id)->where('status',0)->update(['status'=>1]);
- $ginfo=$this->closeGroup($liverome->id,2);
- }
- //7
- $more= MoreRome::where('uid',$stream_id)->where('status',0)->first();
- if($more){
- MoreRome::where('uid',$stream_id)->where('status',0)->update(['status'=>1]);
- $ginfo=$this->closeGroup($more->id,7);
- }
- LiveStatistics::where('end_time',0)->where('uid',$stream_id)->update(['end_time'=>time()]);
- }
- if($event_type==1){//开流
- $lid=$this->getMyInfo($stream_id)->lid;
- LiveStatistics::firstOrCreate(['lid'=>$lid,'uid'=>$stream_id, 'start_time'=>time(), 'end_time'=>0]);
- }
- return response()->json(['code'=>0]);
- }
- protected function getMyInfo($uid,$type=0){
- if($type){
- $info = Cache::rememberForever('My'.$uid,function() use ($uid){
- return Users::where('id',$uid)->first();
- });
- }else{
- $info = Cache::rememberForever('user'.$uid,function() use ($uid){
- return Users::where('id',$uid)->select('name', 'lid', 'avatar','sex','age','vip','trump','opt','type','rose','tuid')->first();
- });
- }
- return $info;
- }
- }
|