From 41c9b5111f64a09d3763cbbb9f86d51998fab877 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Fri, 4 Jul 2025 13:44:10 +0800 Subject: [PATCH] update --- app/Http/Controllers/Admin/CalendarsController.php | 4 +++- app/Http/Controllers/Mobile/CourseController.php | 10 +++++----- app/Models/Calendar.php | 5 +++++ .../2025_06_25_150423_create_calendars_table.php | 4 ++++ 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Admin/CalendarsController.php b/app/Http/Controllers/Admin/CalendarsController.php index 34032e3..d090c6b 100644 --- a/app/Http/Controllers/Admin/CalendarsController.php +++ b/app/Http/Controllers/Admin/CalendarsController.php @@ -54,7 +54,7 @@ class CalendarsController extends BaseController public function index() { $all = request()->all(); - $list = $this->model->with('courseContent')->where(function ($query) use ($all) { + $list = $this->model->with('course','courseContent')->where(function ($query) use ($all) { if (isset($all['filter']) && !empty($all['filter'])) { foreach ($all['filter'] as $condition) { $key = $condition['key'] ?? null; @@ -158,6 +158,8 @@ class CalendarsController extends BaseController * summary="保存", * description="", * @OA\Parameter(name="id", in="query", @OA\Schema(type="integer", format="int64"), required=true, description="ID(存在则更新,不存在则新增)"), + * @OA\Parameter(name="type", in="query", @OA\Schema(type="integer"), required=false, description="类型1课程2课堂3事件"), + * @OA\Parameter(name="course_id", in="query", @OA\Schema(type="integer"), required=false, description="课程ID"), * @OA\Parameter(name="course_content_id", in="query", @OA\Schema(type="integer"), required=false, description="课程课堂ID"), * @OA\Parameter(name="date", in="query", @OA\Schema(type="string", format="date"), required=false, description="日期(YYYY-MM-DD)"), * @OA\Parameter(name="title", in="query", @OA\Schema(type="string", maxLength=255), required=false, description="标题"), diff --git a/app/Http/Controllers/Mobile/CourseController.php b/app/Http/Controllers/Mobile/CourseController.php index 7e55b8d..5cfe01b 100755 --- a/app/Http/Controllers/Mobile/CourseController.php +++ b/app/Http/Controllers/Mobile/CourseController.php @@ -243,7 +243,7 @@ class CourseController extends CommonController */ public function myCourseContent() { - $list = CourseContent::with('course.typeDetail', 'teacher','courseContentEvaluation')->whereHas('course', function ($query) { + $list = CourseContent::with('course.typeDetail', 'teacher', 'courseContentEvaluation')->whereHas('course', function ($query) { $query->where('course_status', '!=', 40)->where('course_content_status', 1); $query->whereHas('courseSigns', function ($query) { $query->where('user_id', $this->getUserId())->where('status', 1)->where(function ($q) { @@ -310,12 +310,12 @@ class CourseController extends CommonController $messages = [ 'course_content_evaluation_id.required' => '问卷id必填', 'data.required' => '表单数据必填', - // 'time_total.required' => '用时必填' + // 'time_total.required' => '用时必填' ]; $validator = Validator::make($all, [ 'course_content_evaluation_id' => 'required', 'data' => 'required', - // 'time_total' => 'required' + // 'time_total' => 'required' ], $messages); if ($validator->fails()) { return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); @@ -339,7 +339,7 @@ class CourseController extends CommonController $model = CourseContentEvaluationForm::create([ 'course_content_evaluation_id' => $all['course_content_evaluation_id'], 'user_id' => $this->getUserId(), - 'time_total' => $all['time_total']??0, + 'time_total' => $all['time_total'] ?? 0, 'data' => $all['data'] ]); return $this->success($model); @@ -814,7 +814,7 @@ class CourseController extends CommonController if ($validator->fails()) { return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); } - $list = Calendar::with('courseContent')->where('date', 'like', $all['month'] . '%')->orderBy('date')->get(); + $list = Calendar::with('course', 'courseContent')->where('date', 'like', $all['month'] . '%')->orderBy('date')->get(); return $this->success($list); } diff --git a/app/Models/Calendar.php b/app/Models/Calendar.php index 7c14afc..6abc56e 100755 --- a/app/Models/Calendar.php +++ b/app/Models/Calendar.php @@ -9,6 +9,11 @@ use Illuminate\Support\Facades\Cache; class Calendar extends SoftDeletesModel { + public function course() + { + return $this->hasOne(Course::class, 'id', 'course_id'); + } + public function courseContent() { return $this->hasMany(CourseContent::class, 'id', 'course_content_id'); diff --git a/database/migrations/2025_06_25_150423_create_calendars_table.php b/database/migrations/2025_06_25_150423_create_calendars_table.php index fa41db9..6f8d18c 100644 --- a/database/migrations/2025_06_25_150423_create_calendars_table.php +++ b/database/migrations/2025_06_25_150423_create_calendars_table.php @@ -14,6 +14,10 @@ return new class extends Migration { { Schema::create('calendars', function (Blueprint $table) { $table->id(); + // 类型 + $table->tinyInteger('type')->nullable()->comment('类型1课程2课堂3事件'); + //课程id + $table->integer('course_id')->nullable()->comment('课程id'); // 课程课堂id $table->integer('course_content_id')->nullable()->comment('课程课堂id'); // 日期