|
|
|
@ -141,16 +141,56 @@ class HomeworkService
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
#作品打分/留言
|
|
|
|
|
def add_score_and_jour params
|
|
|
|
|
def add_score_and_jour params,current_user
|
|
|
|
|
@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
|
|
|
|
|
@homework = HomeworkAttach.find(params[:homework_id])
|
|
|
|
|
comment_status = @homework.bid.comment_status
|
|
|
|
|
if @is_anonymous_comments && comment_status != 1
|
|
|
|
|
case comment_status
|
|
|
|
|
when 0
|
|
|
|
|
raise '尚未开启匿评!'
|
|
|
|
|
when 2
|
|
|
|
|
raise '匿评已结束!'
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
if @is_anonymous_comments && ((@m_score.nil? || @m_score.blank?) || !(params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != ""))
|
|
|
|
|
raise '您尚未打分或评论!'
|
|
|
|
|
end
|
|
|
|
|
#保存评分
|
|
|
|
|
@homework.rate(@m_score.to_i,User.current.id,:quality) if @m_score
|
|
|
|
|
homework = @homework
|
|
|
|
|
is_teacher = @is_teacher ? 1 : 0
|
|
|
|
|
#保存评分@homework.rate(@m_score.to_i,User.current.id,:quality, (@is_teacher ? 1 : 0))
|
|
|
|
|
if @m_score
|
|
|
|
|
rate = @homework.rates(:quality).where(:rater_id => current_user.id, :is_teacher_score => is_teacher).first
|
|
|
|
|
if rate
|
|
|
|
|
rate.stars = @m_score
|
|
|
|
|
rate.save!
|
|
|
|
|
else
|
|
|
|
|
@homework.rates(:quality).new(:stars => @m_score, :rater_id => current_user.id, :is_teacher_score => is_teacher).save!
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
if homework.is_teacher_score == 0
|
|
|
|
|
if is_teacher == 1
|
|
|
|
|
homework.score = @m_score
|
|
|
|
|
homework.is_teacher_score = 1
|
|
|
|
|
else
|
|
|
|
|
sql = "SELECT AVG(stars) as stars FROM seems_rateable_rates WHERE rateable_type = 'HomeworkAttach' AND rateable_id = #{homework.id}"
|
|
|
|
|
score= HomeworkAttach.find_by_sql(sql).first.stars
|
|
|
|
|
homework.score = score
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
if is_teacher == 1
|
|
|
|
|
homework.score = @m_score
|
|
|
|
|
homework.is_teacher_score = 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
homework.save!
|
|
|
|
|
end
|
|
|
|
|
#保存评论
|
|
|
|
|
@is_comprehensive_evaluation = @is_teacher ? 1 : (@is_anonymous_comments ? 2 : 3) #判断当前评论是老师评论?匿评?留言
|
|
|
|
|
if params[:new_form] && params[:new_form][:user_message] && params[:new_form][:user_message] != "" #有没有留言
|
|
|
|
|
@homework.addjours User.current.id, params[:new_form][:user_message],0,@is_comprehensive_evaluation
|
|
|
|
|
@homework.addjours current_user.id, params[:new_form][:user_message],0,@is_comprehensive_evaluation
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|