1
0
mirror of https://gitee.com/koogua/course-tencent-cloud.git synced 2025-07-10 18:47:09 +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']);
$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);
}

View File

@ -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 => '抽奖兑换',
];

View File

@ -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) {