From 57091b34f4b5e5885189ea33cef0174e435699ae Mon Sep 17 00:00:00 2001 From: = Date: Sat, 20 Dec 2014 13:00:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=81=E5=B8=88=E3=80=81=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E5=8C=BF=E8=AF=84=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/homework_service.rb | 92 ++++++++++++++++++++++++++------ 1 file changed, 75 insertions(+), 17 deletions(-) diff --git a/app/services/homework_service.rb b/app/services/homework_service.rb index dd5fb9dca..914889c68 100644 --- a/app/services/homework_service.rb +++ b/app/services/homework_service.rb @@ -2,12 +2,14 @@ class HomeworkService include CoursesHelper include AttachmentsHelper - - #作业详情(老师才显示启动匿评,学生不显示 ) - #many_times 第几次(作业) - #@state=0 启动匿评 - #@state=1 关闭匿评 - #@state=2 匿评结束 + include ApplicationHelper + include WordsHelper + + # 作业详情(老师才显示启动匿评,学生不显示 ) + # many_times 第几次(作业) + # state=0 启动匿评 + # state=1 关闭匿评 + # state=2 匿评结束 def show_homework params @bid = Bid.find(params[:id]) course = @bid.courses.first @@ -17,11 +19,13 @@ class HomeworkService homework_count = @bid.homeworks.count description = @bid.description if is_course_teacher(User.current, course) && @bid.open_anonymous_evaluation == 1 && @bid.homeworks.count >= 2 - @state = bid.comment_status - end + state = bid.comment_status + end + {:course => 'course', :atuthor => 'author', :many_times => 'many_times', :name => 'name', :homework_count => 'homework_count', + :descriptiong => 'description', :state => 'state'} end - #启动作业匿评 + # 启动作业匿评 def alert_homework_anonymous_comment params @bid = Bid.find params[:id] @course = @bid.courses.first @@ -47,7 +51,10 @@ class HomeworkService [@bid,@totle_size,@cur_size,@percent] end - #匿评作品详情 + # 匿评作品详情 + # attachs 该作品的所有附件 + # filename 文件名 + # filedesc 文件描述 def anonymous_works_show params @homework = HomeworkAttach.find(params[:homework_id]) name = @homework.name @@ -60,6 +67,8 @@ class HomeworkService filedesc = attach.description unless attachment.description.blank? end end + {:name => 'name', :description => 'desc', :datetime => 'datetime', + :attchs => 'attachs', :filename => 'filename', :filedesc => 'filedesc'} end #作品打分/留言 @@ -76,21 +85,70 @@ class HomeworkService end end - #作品留言 - def get_works_jours params + #作品留言列表 + def get_works_jours_list params @bid = Bid.find params[:id] @user = @bid.author @jours = @bid.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC') @jour = paginateHelper @jours,10 + @jour end - #匿评作品老师评论 - #匿评作品学生评论列表TODO:未完成,需继续 - def anonmous_works_list - @is_teacher,@is_anonymous_comments,@m_score = params[:is_teacher]=="true",params[:is_anonymous_comments]=="true",params[:stars_value] - @cur_page,@cur_type = params[:cur_page] || 1,params[:cur_type] || 5 + # 学生匿评留言列表 + def anonymous_jour_list params + #jours留言 is null条件用以兼容历史数据 + jours = @homework.journals_for_messages.where("is_comprehensive_evaluation = 3 or is_comprehensive_evaluation is null").order("created_on DESC") + jours.each do |jour| + user = jour.user + img_url = url_to_avatar(jour.user) + datetime = jour.created_on + content = jour.notes + end + {:user => 'user', :img_url => 'img_url', :datetime => 'datetime', :content => 'content'} + end + + # 匿评教师留言/回复列表 + # 图像img_url = url_to_avatar(user) + # massage_user 留言者 + # parent_jour被回复的留言 + def teacher_jour_list params @homework = HomeworkAttach.find(params[:homework_id]) @stars_reates = @homework.rates(:quality) + @teacher_stars = @stars_reates.where("rater_id in (#{teachers})") #老师评分列表 + @teacher_stars.each do |ts| + #留言参数 + jour = get_homework_review @homework,true,massage_user + massage_content = jour.notes unless jour.nil? + massage_user = ts.rater + massage_score = ts.stars + #回复参数 + anonymous_repy(jour) + end end + # 学生匿评列表 + def student_jour_list params + @homework = HomeworkAttach.find(params[:homework_id]) + @stars_reates = @homework.rates(:quality) + @student_stars = @stars_reates.where("rater_id not in (#{teachers})") #学生评分列表 + @student_stars.each do |ss| + #留言参数 + massage_user = ss.rater + jour = get_homework_review @homework,false,massage_user + massage_score = ss.stars + massage_content = jour.notes unless jour.nil? + #回复参数 + anonymous_repy(jour) + end + end + + def anonymous_repy jour + fetch_user_leaveWord_reply(jour).each do |fulr| + parent_jour = JournalsForMessage.where("id = #{fulr.m_reply_id}").first + reply_name = fulr.user.name + parent_name = parent_jour.user.name if parent_jour + reply_content = fulr.notes + reply_time = fulr.created_on + end + end end \ No newline at end of file