Commit f59821e0 by 杨昕

添加媒资列表

parent 96d66c68
Pipeline #9857 passed with stages
in 33 seconds
...@@ -115,22 +115,29 @@ class MediaController extends Controller ...@@ -115,22 +115,29 @@ class MediaController extends Controller
return success($id); return success($id);
} }
/**
* 获取媒资列表
* @param Request $request
* @return \Illuminate\Http\JsonResponse
* @throws \App\Exceptions\ControllerException
*/
public function mediaList(Request $request){ public function mediaList(Request $request){
$id = handler_drive(function () use($request){ $res = handler_drive(function () use($request){
SrsHookValidate::srsHookCallback($request,[ SrsHookValidate::srsHookCallback($request,[
'media_name' => '', 'media_name' => '',
'username' => '',
'page' => '',
'media_id' => '', 'media_id' => '',
'media_url' => '', 'description' => '',
'sort' => '',
]); ]);
return MediaModel::mediaList($request);
return ;
}); });
return success($id); return success($res);
} }
......
...@@ -17,6 +17,9 @@ class MediaController extends Controller ...@@ -17,6 +17,9 @@ class MediaController extends Controller
$medias = MediaModel::mediaList($request); $medias = MediaModel::mediaList($request);
// return success($medias);
return view('admin.media.media_list', [ return view('admin.media.media_list', [
'medias' => $medias, 'medias' => $medias,
'start_time' => substr($request->start_time, 0, 10), 'start_time' => substr($request->start_time, 0, 10),
...@@ -27,6 +30,8 @@ class MediaController extends Controller ...@@ -27,6 +30,8 @@ class MediaController extends Controller
} }
/** /**
* 编辑房间 * 编辑房间
* @param Request $request * @param Request $request
......
...@@ -4,6 +4,8 @@ namespace App\Model; ...@@ -4,6 +4,8 @@ namespace App\Model;
use App\Exceptions\DatabaseException; use App\Exceptions\DatabaseException;
use App\Tool\Constant; use App\Tool\Constant;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Jenssegers\Mongodb\Eloquent\Model as Eloquent; use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
use MongoDB\Client; use MongoDB\Client;
...@@ -17,6 +19,8 @@ class MediaModel extends Eloquent ...@@ -17,6 +19,8 @@ class MediaModel extends Eloquent
protected $primaryKey = '_id'; protected $primaryKey = '_id';
protected $fillable = [];
public function media_category() public function media_category()
...@@ -32,11 +36,21 @@ class MediaModel extends Eloquent ...@@ -32,11 +36,21 @@ class MediaModel extends Eloquent
*/ */
public static function mediaList($request){ public static function mediaList($request){
try{ try{
$test = MediaModel::query()->raw(function ($collection) use($request){ $medias = MediaModel::query()->raw(function ($collection) use($request){
$limit = (isset($request->page_size) ? (int)($request->page_size) : Constant::PAGE_NUMBER) ;
$page = $request->page??1;
$aggregate[]['$limit'] = Constant::PAGE_NUMBER??$request->pagesize; /**
* 默认降序
*/
$sort = -1;
if ($request->sort == 'asc'){
$sort = 1;
}
if (isset($request->media_id)){ if (isset($request->media_id)){
...@@ -47,38 +61,31 @@ class MediaModel extends Eloquent ...@@ -47,38 +61,31 @@ class MediaModel extends Eloquent
$aggregate[]['$match']['media_name'] = ['$regex' => $request->media_name ]; $aggregate[]['$match']['media_name'] = ['$regex' => $request->media_name ];
} }
if (isset($request->media_name)){ if (isset($request->username)){
$aggregate[]['$match']['media_name'] = ['$regex' => $request->media_name ]; $aggregate[]['$match']['username'] = $request->username;
} }
if (isset($request->desciption)){
$aggregate[]['$match']['description'] = ['$regex' => $request->description ];
}
$aggregate[]['$sort'] = ['create_time' => $sort];
$count = sizeof($collection->aggregate($aggregate)->toArray());
return $collection->aggregate($aggregate)->toArray(); $skip = ((empty($request->page) ? 1 : $request->page)-1) * $limit;
});
dd($test);
$aggregate[]['$skip'] = $skip;
$aggregate[]['$limit'] = $limit;
$where = [];
if ($request->name){
$where['media_name'] = $request->name;
}
$mediaCatgs = MediaCategoryModel::select("_id","name")->get()->toArray(); return new LengthAwarePaginator($collection->aggregate($aggregate)->toArray(), $count, $limit, $page,[
$tmp = []; 'path' => Paginator::resolveCurrentPath(),
foreach ($mediaCatgs as $catg){ 'pageName' => 'page',
$tmp[$catg['_id']] = $catg['name']; ]);
}
$medias = MediaModel::where($where)->orderBy("create_time","desc")->paginate(10);
foreach ($medias as $media){
$media['media_type'] = $tmp[$media['media_type_id']];
}
});
}catch (\Exception $exception){ }catch (\Exception $exception){
throw new DatabaseException($exception->getMessage()); throw new DatabaseException($exception->getMessage());
......
...@@ -28,6 +28,9 @@ Route::group(['namespace' => 'Api', 'prefix' => 'v1', 'middleware' => ['auth']], ...@@ -28,6 +28,9 @@ Route::group(['namespace' => 'Api', 'prefix' => 'v1', 'middleware' => ['auth']],
Route::get('upload_token', 'Client\MediaController@getUploadMediaToken'); Route::get('upload_token', 'Client\MediaController@getUploadMediaToken');
Route::post('hook_restore', 'Client\MediaController@hookRestoreMedia'); Route::post('hook_restore', 'Client\MediaController@hookRestoreMedia');
Route::post('update_media/{id}', 'Client\MediaController@updatehookMedia'); Route::post('update_media/{id}', 'Client\MediaController@updatehookMedia');
Route::get('media_list', 'Client\MediaController@mediaList');
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment