Browse Source

'教师管理+课程管理'

gorden 1 year ago
parent
commit
034bc5983d

+ 53 - 0
app/admin/controller/life/CollegeCourses.php

@@ -0,0 +1,53 @@
+<?php
+
+namespace app\admin\controller\life;
+
+use app\admin\validate\life\CollegeCoursesValidate;
+use app\controller\Curd;
+use app\model\CollegeCourses as CollegeCourseModel;
+use support\Request;
+use support\Response;
+
+class CollegeCourses extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new CollegeCourseModel();
+        $this->validate = true;
+        $this->validateClass = new CollegeCoursesValidate();
+    }
+
+    /**
+     * @Desc 课程列表
+     * @Author Gorden
+     * @Date 2024/2/26 16:51
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function select(Request $request): Response
+    {
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $where['courses_is_del'] = 0;
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+
+    /**
+     * @Desc 删除课程
+     * @Author Gorden
+     * @Date 2024/2/26 16:52
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+        $this->doSoftDelete($ids, ['courses_is_del' => 1]);
+
+        return json_success('success');
+    }
+}

+ 53 - 0
app/admin/controller/life/CollegeTeacher.php

@@ -0,0 +1,53 @@
+<?php
+
+namespace app\admin\controller\life;
+
+use app\admin\validate\life\CollegeTeacherValidate;
+use app\controller\Curd;
+use app\model\CollegeTeacher as TeacherModel;
+use support\Request;
+use support\Response;
+
+class CollegeTeacher extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new TeacherModel();
+        $this->validate = true;
+        $this->validateClass = new CollegeTeacherValidate();
+    }
+
+    /**
+     * @Desc 教师列表
+     * @Author Gorden
+     * @Date 2024/2/26 14:55
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function select(Request $request): Response
+    {
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $where['teacher_is_del'] = 0;
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+
+    /**
+     * @Desc 删除教师
+     * @Author Gorden
+     * @Date 2024/2/26 14:55
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+        $this->doSoftDelete($ids, ['teacher_is_del' => 1]);
+
+        return json_success('success');
+    }
+}

+ 33 - 0
app/admin/validate/life/CollegeCoursesValidate.php

@@ -0,0 +1,33 @@
+<?php
+
+namespace app\admin\validate\life;
+
+use think\Validate;
+
+class CollegeCoursesValidate extends Validate
+{
+    protected $rule = [
+        'courses_id' => 'require|integer',
+        'courses_name' => 'require|chsDash',
+        'courses_img' => 'regex:/^[A-Za-z0-9\-\_\.\/\\\]+$/',
+        'courses_introduction' => 'require',
+        'courses_type' => 'integer',
+//        'courses_time' => '',
+//        'courses_long'=>'',
+        'courses_week' => 'integer',
+        'courses_category_id' => 'require|integer',
+        'courses_teacher_id' => 'require|integer',
+        'courses_num' => 'require|integer',
+        'courses_join_num' => 'integer',
+//        'courses_label' => 'chsDash',
+        'courses_status' => 'integer',
+        'courses_is_del' => 'integer'
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['courses_name', 'courses_img', 'courses_introduction', 'courses_type', 'courses_time', 'courses_week', 'courses_category_id', 'courses_teacher_id', 'courses_num', 'courses_join_num', 'courses_label', 'courses_status', 'courses_is_del'],
+        'update' => ['courses_id', 'courses_name', 'courses_img', 'courses_introduction', 'courses_type', 'courses_time', 'courses_week', 'courses_category_id', 'courses_teacher_id', 'courses_num', 'courses_join_num', 'courses_label', 'courses_status', 'courses_is_del']
+    ];
+}

+ 24 - 0
app/admin/validate/life/CollegeTeacherValidate.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace app\admin\validate\life;
+
+use think\Validate;
+
+class CollegeTeacherValidate extends Validate
+{
+    protected $rule = [
+        'teacher_id' => 'require|integer',
+        'teacher_name' => 'require|chsDash',
+        'teacher_title' => 'chsDash',
+        'teacher_img' => 'require|regex:/^[A-Za-z0-9\-\_\.\/\\\]+$/',
+        'teacher_introduction' => 'chsDash',
+        'teacher_is_del' => 'integer',
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['teacher_name', 'teacher_title', 'teacher_img', 'teacher_introduction'],
+        'update' => ['teacher_id', 'teacher_name', 'teacher_title', 'teacher_img', 'teacher_introduction', 'teacher_is_del']
+    ];
+}

+ 18 - 0
app/model/CollegeCourses.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class CollegeCourses extends Model
+{
+    protected $table = 'college_courses';
+
+    protected $primaryKey = 'courses_id';
+
+    protected $dateFormat = 'U';
+
+    public const CREATED_AT = 'courses_addTime';
+
+    public const UPDATED_AT = 'courses_updateTime';
+}

+ 18 - 0
app/model/CollegeTeacher.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class CollegeTeacher extends Model
+{
+    public $table = 'college_teacher';
+
+    public $primaryKey = 'teacher_id';
+
+    public $dateFormat = 'U';
+
+    public const CREATED_AT = 'teacher_addTime';
+
+    public const UPDATED_AT = 'teacher_updateTime';
+}

+ 21 - 0
route/api.php

@@ -88,6 +88,7 @@ Route::group('/admin', function () {
 
     /* 业务支撑 */
     Route::group('/life', function () {
+        /* 演职人员管理 */
         Route::group('/cinemaPerformers', function () {
             Route::get('/list', [\app\admin\controller\life\CinemaPerformers::class, 'select']);
             Route::post('/add', [\app\admin\controller\life\CinemaPerformers::class, 'insert']);
@@ -96,6 +97,7 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
+        /* 影片类型管理 */
         Route::group('/cinemaIlk', function () {
             Route::get('/list', [\app\admin\controller\life\CinemaIlk::class, 'select']);
             Route::post('/add', [\app\admin\controller\life\CinemaIlk::class, 'insert']);
@@ -104,6 +106,7 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
+        /* 影片管理 */
         Route::group('/cinema', function () {
             Route::get('/list', [\app\admin\controller\life\Cinema::class, 'select']);
             Route::post('/add', [\app\admin\controller\life\Cinema::class, 'insert']);
@@ -112,5 +115,23 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
+        /* 教师管理 */
+        Route::group('/teacher', function () {
+            Route::get('/list', [\app\admin\controller\life\CollegeTeacher::class, 'select']);
+            Route::post('/add', [\app\admin\controller\life\CollegeTeacher::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\life\CollegeTeacher::class, 'update']);
+            Route::delete('/delete', [\app\admin\controller\life\CollegeTeacher::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
+        /* 课程管理 */
+        Route::group('/courses', function () {
+            Route::get('/list', [\app\admin\controller\life\CollegeCourses::class, 'select']);
+            Route::post('/add', [\app\admin\controller\life\CollegeCourses::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\life\CollegeCourses::class, 'update']);
+            Route::delete('/delete', [\app\admin\controller\life\CollegeCourses::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
     });
 });