WechatCheckController.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace Modules\Video\Http\Controllers;
  3. use Catch\Base\CatchController;
  4. use Illuminate\Foundation\Validation\ValidatesRequests;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\DB;
  7. /**
  8. * 微信提审
  9. */
  10. class WechatCheckController extends CatchController
  11. {
  12. use ValidatesRequests;
  13. /**
  14. * 添加提审
  15. * @param Request $request
  16. */
  17. public function add(Request $request) {
  18. $this->validate($request, [
  19. 'video_id'=>'required',
  20. 'producer' => 'required|string|max:256',
  21. 'playwright' => 'required|string|max:256',
  22. 'production_license_img' => 'required|url',
  23. 'authorized_img' => 'required|url'
  24. ]);
  25. $data = $request->all();
  26. $data['created_at'] = $data['updated_at'] = date('Y-m-d H:i:s');
  27. DB::table('video_wechat_check')
  28. ->insert($data);
  29. return 'ok';
  30. }
  31. /**
  32. * 修改
  33. * @param Request $request
  34. */
  35. public function update(Request $request) {}
  36. /**
  37. * 删除
  38. * @param Request $request
  39. */
  40. public function delete(Request $request) {
  41. $this->validate($request, ['id' => 'required']);
  42. DB::table('video_wechat_check')
  43. ->where([
  44. 'id' => $request->input('id'),
  45. 'is_enabled' => 1,
  46. ])->update([
  47. 'is_enabled' => 0,
  48. 'updated_at' => date('Y-m-d H:i:s')
  49. ]);
  50. return 'ok';
  51. }
  52. /**
  53. * 提审记录列表
  54. * @param Request $request
  55. */
  56. public function list(Request $request) {
  57. $videoId = $request->input('video_id');
  58. $producer = $request->input('producer');
  59. $playwright = $request->input('playwright');
  60. $status = $request->input('status',0);
  61. return DB::table('video_wechat_check as check')
  62. ->join('videos', 'videos.id', 'check.video_id')
  63. ->where([
  64. 'check.status' => $status,
  65. 'check.is_enabled' => 1,
  66. ])->when($videoId, function ($query, $videoId) {
  67. return $query->where('check.video_id', $videoId);
  68. })->when($producer, function ($query, $producer){
  69. return $query->where('check.producer', 'like', '%'. $producer. '%');
  70. })->when($playwright, function ($query, $playwright){
  71. return $query->where('check.playwright', 'like', '%'. $playwright. '%');
  72. })->select('check.id', 'videos.name', 'videos.note', 'videos.total_episode_num',
  73. 'videos.cover_image','check.status','check.producer',
  74. 'check.playwright', 'check.production_license_img', 'check.authorized_img', 'check.apply_at',
  75. 'check.check_at', 'check.check_reason')
  76. ->orderBy('check.id','desc')
  77. ->paginate($request->input('limit', 10));
  78. }
  79. }