瀏覽代碼

微信提审,新增,列表

liuzejian 1 年之前
父節點
當前提交
28e0d50e16

+ 54 - 2
modules/Video/Http/Controllers/WechatCheckController.php

@@ -3,18 +3,36 @@
 namespace Modules\Video\Http\Controllers;
 
 use Catch\Base\CatchController;
+use Illuminate\Foundation\Validation\ValidatesRequests;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
 
 /**
  * 微信提审
  */
 class WechatCheckController extends CatchController
 {
+    use ValidatesRequests;
     /**
      * 添加提审
      * @param Request $request
      */
-    public function add(Request $request) {}
+    public function add(Request $request) {
+        $this->validate($request, [
+            'video_id'=>'required',
+            'producer' => 'required|string|max:256',
+            'playwright' => 'required|string|max:256',
+            'production_license_img' => 'required|url',
+            'authorized_img' => 'required|url'
+        ]);
+
+        $data = $request->all();
+        $data['created_at'] = $data['updated_at'] = date('Y-m-d H:i:s');
+        DB::table('video_wechat_check')
+            ->insert($data);
+
+        return 'ok';
+    }
 
     /**
      * 修改
@@ -26,12 +44,46 @@ class WechatCheckController extends CatchController
      * 删除
      * @param Request $request
      */
-    public function delete(Request $request) {}
+    public function delete(Request $request) {
+        $this->validate($request, ['id' => 'required']);
+        DB::table('video_wechat_check')
+            ->where([
+                'id' => $request->input('id'),
+                'is_enabled' => 1,
+            ])->update([
+                'is_enabled' => 0,
+                'updated_at' => date('Y-m-d H:i:s')
+            ]);
+
+        return 'ok';
+    }
     /**
      * 提审记录列表
      * @param Request $request
      */
     public function list(Request $request) {
+        $videoId = $request->input('video_id');
+        $producer = $request->input('producer');
+        $playwright = $request->input('playwright');
+        $status = $request->input('status',0);
+
+        return DB::table('video_wechat_check as check')
+            ->join('videos', 'videos.id', 'check.video_id')
+            ->where([
+                'check.status' => $status,
+                'check.is_enabled' => 1,
+            ])->when($videoId, function ($query, $videoId) {
+                return $query->where('check.video_id', $videoId);
+            })->when($producer, function ($query, $producer){
+                return $query->where('check.producer', 'like', '%'. $producer. '%');
+            })->when($playwright, function ($query, $playwright){
+                return $query->where('check.playwright', 'like', '%'. $playwright. '%');
+            })->select('check.id', 'videos.name', 'videos.note', 'videos.total_episode_num',
+                'videos.cover_image','check.status','check.producer',
+            'check.playwright', 'check.production_license_img', 'check.authorized_img', 'check.apply_at',
+            'check.check_at', 'check.check_reason')
+            ->orderBy('check.id','desc')
+            ->paginate($request->input('limit', 10));
 
     }
 }

+ 7 - 0
modules/Video/routes/route.php

@@ -6,6 +6,7 @@ use Modules\System\Http\Controllers\NoticeTypesController;
 use Modules\Video\Http\Controllers\EpisodeController;
 use Modules\Video\Http\Controllers\VideoCategoryController;
 use Modules\Video\Http\Controllers\VideoController;
+use Modules\Video\Http\Controllers\WechatCheckController;
 
 Route::prefix('videoStock')->group(function () {
     Route::get('video/list', [VideoController::class, 'list']);
@@ -18,5 +19,11 @@ Route::prefix('videoStock')->group(function () {
     Route::post('video/add', [VideoController::class, 'add']);
     Route::post('video/setChargeConfig', [VideoController::class, 'setChargeConfig']);
     Route::post('episode/add', [EpisodeController::class, 'add']);
+
+    Route::prefix('wechatCheck')->group(function(){
+        Route::post('add', [WechatCheckController::class, 'add']);
+        Route::get('list', [WechatCheckController::class, 'list']);
+        Route::post('delete', [WechatCheckController::class, 'delete']);
+    });
 });
 

+ 37 - 0
tests/Video/Http/Controllers/WechatCheckControllerTest.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace Tests\Video\Http\Controllers;
+
+use Modules\Video\Http\Controllers\WechatCheckController;
+use PHPUnit\Framework\TestCase;
+use Tests\UsedTestCase;
+
+class WechatCheckControllerTest extends UsedTestCase
+{
+
+    public function testAdd()
+    {
+        $res = $this->withHeaders([
+            'Authorization' => 'Bearer '. $this->token,
+        ])->json('post','http://localhost/api/videoStock/wechatCheck/add', [
+            'video_id' => 12,
+            'producer' => 'zzz',
+            'playwright' =>  'xxxx',
+            'production_license_img' => 'https://minifile-cdn.zvyhjkx.com/uploads/images/20230531/9NUcrj2Dfz1685513143.png',
+            'authorized_img' => 'https://minifile-cdn.zvyhjkx.com/uploads/images/20230531/9NUcrj2Dfz1685513143.png'
+        ]);
+        $res->dump();
+    }
+
+    public function testList()
+    {
+        $res = $this->withHeaders([
+            'Authorization' => 'Bearer '. $this->token,
+        ])->json('get','http://localhost/api/videoStock/wechatCheck/list', [
+            'video_id' => 12,
+            'producer' => 'zzz',
+            'playwright' =>  'xxxx',
+        ]);
+        $res->dump();
+    }
+}