videoGroup = $videoGroup; $this->videoGroupInfo = $videoGroupInfo; } //列表 public function index($request){ $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $where = []; if(isset($request['name'])){ $where[] = ['name', 'like', "%{$request['name']}%"]; } return $this->videoGroup->where($where)->paginate($perPage); } //详情 public function view($request){ return $this->videoGroup->where(['id'=>$request['id']])->first(); } //创建 public function create($request){ $videoGroup = $this->videoGroup->where(['name'=>$request['name']])->first(); if($videoGroup){ return Response::create([ 'message' => '该分组已存在', 'status_code' => 500 ]); } $data = [ 'name' => $request['name'], 'status' => 1, ]; DB::beginTransaction(); try{ $this->videoGroup->create($data); DB::commit(); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('新增热门视频分组:'.$exception->getMessage()); return Response::create([ 'message' => '新增热门视频失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } //编辑 public function edit($request){ $videoGroup = $this->videoGroup->where(['id'=>$request['id']])->first(); if(!$videoGroup){ return Response::create([ 'message' => '该分组不存在', 'status_code' => 500 ]); } $videoGroup->name = $request['name']; DB::beginTransaction(); try{ $group = $videoGroup->save(); if(is_array($request['video_info'])){ foreach ($request['video_info'] as $key=>$value){ $this->videoGroupInfo->where('id',$value['id'])->update(['sort'=>$value['sort']]); } } DB::commit(); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('新增热门视频分组:'.$exception->getMessage()); return Response::create([ 'message' => '新增热门视频失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } //删除内容 public function delete($id){ DB::beginTransaction(); try{ $res = $this->videoGroup->where('id',$id)->delete(); if($res){ $this->videoGroupInfo->where('video_group_id',$id)->delete(); } if(!$res){ return Response::create([ 'message' => '删除失败', 'status_code' => 500 ]); } DB::commit(); return Response::create(); }catch (QueryException $exception){ DB::rollBack(); Log::debug('删除热门视频分组:'.$exception->getMessage()); return Response::create([ 'message' => '删除热门视频失败,请重试', 'error' => $exception->getMessage(), 'status_code' => 500 ]); } } //视频详情 public function videoList($video_group_id){ return $this->videoGroupInfo->where(['video_group_id'=>$video_group_id])->get(); } //添加分组视频 public function addVideoInfo($request){ $videoGroup = $this->videoGroup->where(['id'=>$request['video_group_id']])->first(); if(!$videoGroup){ return Response::create([ 'message' => '该分组不存在', 'status_code' => 500 ]); } $data = [ 'video_group_id'=>$request['video_group_id'], 'post_id'=>$request['post_id'] ]; $info = $this->videoGroupInfo->where($data)->first(); if($info){ return Response::create([ 'message' => '该内容已添加', 'status_code' => 500 ]); } $res = $this->videoGroupInfo->create($data); if(!$res){ return Response::create([ 'message' => '添加失败', 'status_code' => 500 ]); } return Response::create(); } //删除内容 public function deleteVideoInfo($id){ $res = $this->videoGroupInfo->where('id',$id)->delete(); if(!$res){ return Response::create([ 'message' => '删除失败', 'status_code' => 500 ]); } return Response::create(); } //列表 public function VideoInfoIndex($request){ $perPage = isset($request['per_page']) ? $request['per_page'] : 20; $where = []; if (isset($request['video_group_id'])) { $where[] = ['video_group_id', $request['video_group_id']]; } return $this->videoGroupInfo->where($where)->paginate($perPage); } }