1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-12 19:39:10 +08:00

教师可访问其教授课程

This commit is contained in:
xiaochong0302 2025-06-18 15:44:53 +08:00
parent 247050f4ef
commit 13b3327b2f
3 changed files with 19 additions and 4 deletions

View File

@ -251,14 +251,16 @@ class ChapterContent extends Service
$content = $validator->checkContent($post['content']); $content = $validator->checkContent($post['content']);
$read->update(['content' => $content]); $read->content = $content;
$read->update();
$attrs = $chapter->attrs; $attrs = $chapter->attrs;
$attrs['word_count'] = WordUtil::getWordCount($content); $attrs['word_count'] = WordUtil::getWordCount($content);
$attrs['duration'] = WordUtil::getWordDuration($content); $attrs['duration'] = WordUtil::getWordDuration($content);
$chapter->attrs = $attrs;
$chapter->update(['attrs' => $attrs]); $chapter->update();
$this->updateCourseReadAttrs($read->course_id); $this->updateCourseReadAttrs($read->course_id);
} }

View File

@ -19,6 +19,7 @@ class CourseUser extends Model
const SOURCE_MANUAL = 4; // 分配 const SOURCE_MANUAL = 4; // 分配
const SOURCE_POINT_REDEEM = 5; // 积分兑换 const SOURCE_POINT_REDEEM = 5; // 积分兑换
const SOURCE_LUCKY_REDEEM = 6; // 抽奖兑换 const SOURCE_LUCKY_REDEEM = 6; // 抽奖兑换
const SOURCE_TEACHER = 7; // 教师
const SOURCE_TRIAL = 10; // 试听 const SOURCE_TRIAL = 10; // 试听
/** /**
@ -137,6 +138,7 @@ class CourseUser extends Model
self::SOURCE_TRIAL => '试听', self::SOURCE_TRIAL => '试听',
self::SOURCE_VIP => '畅学', self::SOURCE_VIP => '畅学',
self::SOURCE_MANUAL => '分配', self::SOURCE_MANUAL => '分配',
self::SOURCE_TEACHER => '教师',
self::SOURCE_POINT_REDEEM => '积分兑换', self::SOURCE_POINT_REDEEM => '积分兑换',
self::SOURCE_LUCKY_REDEEM => '抽奖兑换', self::SOURCE_LUCKY_REDEEM => '抽奖兑换',
]; ];

View File

@ -46,7 +46,11 @@ trait CourseUserTrait
$this->joinedCourse = true; $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; $this->ownedCourse = true;
@ -96,6 +100,7 @@ trait CourseUserTrait
case CourseUserModel::SOURCE_FREE: case CourseUserModel::SOURCE_FREE:
case CourseUserModel::SOURCE_TRIAL: case CourseUserModel::SOURCE_TRIAL:
case CourseUserModel::SOURCE_VIP: case CourseUserModel::SOURCE_VIP:
case CourseUserModel::SOURCE_TEACHER:
$this->createCourseUser($course, $user, $expiryTime, $sourceType); $this->createCourseUser($course, $user, $expiryTime, $sourceType);
$this->deleteCourseUser($relation); $this->deleteCourseUser($relation);
break; break;
@ -169,6 +174,8 @@ trait CourseUserTrait
$result = true; $result = true;
} elseif ($course->vip_price == 0 && $user->vip == 1) { } elseif ($course->vip_price == 0 && $user->vip == 1) {
$result = true; $result = true;
} elseif($course->teacher_id == $user->id) {
$result = true;
} }
return $result; return $result;
@ -176,6 +183,10 @@ trait CourseUserTrait
protected function getFreeSourceType(CourseModel $course, UserModel $user) protected function getFreeSourceType(CourseModel $course, UserModel $user)
{ {
if ($course->teacher_id == $user->id) {
return CourseUserModel::SOURCE_TEACHER;
}
$sourceType = CourseUserModel::SOURCE_FREE; $sourceType = CourseUserModel::SOURCE_FREE;
if ($course->market_price > 0) { if ($course->market_price > 0) {