From 13b3327b2f09b0920da654202e924ed504d2cff0 Mon Sep 17 00:00:00 2001 From: xiaochong0302 Date: Wed, 18 Jun 2025 15:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=99=E5=B8=88=E5=8F=AF=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E5=85=B6=E6=95=99=E6=8E=88=E8=AF=BE=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Admin/Services/ChapterContent.php | 8 +++++--- app/Models/CourseUser.php | 2 ++ app/Services/Logic/Course/CourseUserTrait.php | 13 ++++++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/Http/Admin/Services/ChapterContent.php b/app/Http/Admin/Services/ChapterContent.php index dec9abcd..0cdf42e4 100644 --- a/app/Http/Admin/Services/ChapterContent.php +++ b/app/Http/Admin/Services/ChapterContent.php @@ -251,14 +251,16 @@ class ChapterContent extends Service $content = $validator->checkContent($post['content']); - $read->update(['content' => $content]); + $read->content = $content; + + $read->update(); $attrs = $chapter->attrs; - $attrs['word_count'] = WordUtil::getWordCount($content); $attrs['duration'] = WordUtil::getWordDuration($content); + $chapter->attrs = $attrs; - $chapter->update(['attrs' => $attrs]); + $chapter->update(); $this->updateCourseReadAttrs($read->course_id); } diff --git a/app/Models/CourseUser.php b/app/Models/CourseUser.php index a8a4dc93..85a2c9db 100644 --- a/app/Models/CourseUser.php +++ b/app/Models/CourseUser.php @@ -19,6 +19,7 @@ class CourseUser extends Model const SOURCE_MANUAL = 4; // 分配 const SOURCE_POINT_REDEEM = 5; // 积分兑换 const SOURCE_LUCKY_REDEEM = 6; // 抽奖兑换 + const SOURCE_TEACHER = 7; // 教师 const SOURCE_TRIAL = 10; // 试听 /** @@ -137,6 +138,7 @@ class CourseUser extends Model self::SOURCE_TRIAL => '试听', self::SOURCE_VIP => '畅学', self::SOURCE_MANUAL => '分配', + self::SOURCE_TEACHER => '教师', self::SOURCE_POINT_REDEEM => '积分兑换', self::SOURCE_LUCKY_REDEEM => '抽奖兑换', ]; diff --git a/app/Services/Logic/Course/CourseUserTrait.php b/app/Services/Logic/Course/CourseUserTrait.php index b3a82810..074124dd 100644 --- a/app/Services/Logic/Course/CourseUserTrait.php +++ b/app/Services/Logic/Course/CourseUserTrait.php @@ -46,7 +46,11 @@ trait CourseUserTrait $this->joinedCourse = true; } - if ($course->market_price == 0) { + if ($course->teacher_id == $user->id) { + + $this->ownedCourse = true; + + } elseif ($course->market_price == 0) { $this->ownedCourse = true; @@ -96,6 +100,7 @@ trait CourseUserTrait case CourseUserModel::SOURCE_FREE: case CourseUserModel::SOURCE_TRIAL: case CourseUserModel::SOURCE_VIP: + case CourseUserModel::SOURCE_TEACHER: $this->createCourseUser($course, $user, $expiryTime, $sourceType); $this->deleteCourseUser($relation); break; @@ -169,6 +174,8 @@ trait CourseUserTrait $result = true; } elseif ($course->vip_price == 0 && $user->vip == 1) { $result = true; + } elseif($course->teacher_id == $user->id) { + $result = true; } return $result; @@ -176,6 +183,10 @@ trait CourseUserTrait protected function getFreeSourceType(CourseModel $course, UserModel $user) { + if ($course->teacher_id == $user->id) { + return CourseUserModel::SOURCE_TEACHER; + } + $sourceType = CourseUserModel::SOURCE_FREE; if ($course->market_price > 0) {