课堂视频

courseware
anke1460 5 years ago
parent 480d7ce4a8
commit 2175220ea5

@ -105,7 +105,8 @@ class CoursesController < ApplicationController
def course_videos
course_videos = @course.course_videos
course_videos = course_videos.joins("
JOIN videos ON course_videos.video_id = videos.id
LEFT JOIN videos ON course_videos.video_id = videos.id AND
((videos.transcoded = TRUE OR videos.user_id = #{current_user.id}) OR course_videos.is_link = TRUE)
LEFT JOIN (
SELECT watch_course_videos.course_video_id,
SUM(watch_course_videos.total_duration) AS total_duration,
@ -116,7 +117,7 @@ class CoursesController < ApplicationController
WHERE course_videos.course_id = #{@course.id}
GROUP BY watch_course_videos.course_video_id
) AS watch_courses ON watch_courses.course_video_id = course_videos.id
").where("((videos.transcoded = TRUE OR videos.user_id = #{current_user.id}) OR course_videos.is_link = TRUE)")
")
@video_module = @course.course_modules.find_by(module_type: "video")
@ -132,7 +133,7 @@ class CoursesController < ApplicationController
@count = course_videos.count("course_videos.id")
logger.info("#######count:#{@count}")
course_videos = course_videos.select("IFNULL(watch_courses.total_duration, 0) AS total_duration, IFNULL(watch_courses.count,0) AS count, course_videos.video_id, course_videos.title, course_videos.is_link, course_videos.user_id")
course_videos = course_videos.select("course_videos.id, IFNULL(watch_courses.total_duration, 0) AS total_duration, IFNULL(watch_courses.count,0) AS count, course_videos.video_id, course_videos.title, course_videos.is_link, course_videos.user_id")
@videos = paginate course_videos
end
@ -1536,7 +1537,7 @@ class CoursesController < ApplicationController
SELECT watch_course_videos.id, COUNT(watch_video_histories.watch_course_video_id) AS num
FROM watch_course_videos
JOIN course_videos ON course_videos.id = watch_course_videos.course_video_id
JOIN course_members ON course_members.user_id = watch_course_videos.user_id AND course_members.course_id = #{@course.id} AND role = 4
JOIN course_members ON course_members.user_id = watch_course_videos.user_id AND course_members.course_id = #{@course.id} AND role = 4
JOIN watch_video_histories ON watch_course_videos.id = watch_video_histories.watch_course_video_id AND watch_video_histories.end_at IS NOT NULL
WHERE course_videos.course_id = #{@course.id} AND watch_course_videos.user_id = #{current_user.id} AND watch_course_videos.end_at IS NOT NULL
GROUP BY watch_course_videos.id

@ -9,6 +9,7 @@ json.videos @videos do |video|
json.user_img url_to_avatar(user)
json.user_login user&.login
else
json.course_video_id video.id
json.partial! 'users/videos/video', locals: { video: video.video }
json.total_time video['total_duration'].round(0)
json.people_num video['count']

Loading…
Cancel
Save