From 085729f91b426d9b9f9d9874e221bd42b87bf86f Mon Sep 17 00:00:00 2001 From: huang Date: Thu, 3 Mar 2016 18:51:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=B4=BB=E8=B7=83=E5=BA=A6?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E4=BD=9C=E4=B8=9A=E7=95=99=E8=A8=80?= =?UTF-8?q?=E5=BE=97=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/application_helper.rb | 9 +++++++++ app/models/course_contributor_score.rb | 2 +- app/models/journals_for_message.rb | 4 +++- ..._add_homework_journal_to_course_contributor_scores.rb | 5 +++++ db/schema.rb | 7 ++++--- 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20160303103231_add_homework_journal_to_course_contributor_scores.rb diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 9d08be378..0995a6289 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -115,6 +115,15 @@ module ApplicationHelper def course_member_score(course_id,user_id,type) course_contributor_score = CourseContributorScore.where("course_id =? and user_id =?", course_id, user_id).first case type + when "HomeworkCommon" + if course_contributor_score.nil? + CourseContributorScore.create(:course_id => course_id, :user_id => user_id, :message_num => 0, :message_reply_num => 0, + :news_reply_num => 0, :resource_num => 0, :journal_num => 0, :journal_reply_num => 0, :homework_journal_num => 1 , :total_score => 1) + else + score = course_contributor_score.homework_journal_num + 1 + total_score = course_contributor_score.total_score + 1 + course_contributor_score.update_attributes(:homework_journal_num => score, :total_score => total_score) + end when "JournalForMessage" if course_contributor_score.nil? CourseContributorScore.create(:course_id => course_id, :user_id => user_id, :message_num => 0, :message_reply_num => 0, diff --git a/app/models/course_contributor_score.rb b/app/models/course_contributor_score.rb index f2b05458f..ca21ddb1c 100644 --- a/app/models/course_contributor_score.rb +++ b/app/models/course_contributor_score.rb @@ -1,5 +1,5 @@ class CourseContributorScore < ActiveRecord::Base - attr_accessible :course_id, :journal_num, :journal_reply_num, :message_num, :message_reply_num, :news_reply_num, :resource_num, :user_id, :total_score + attr_accessible :course_id, :journal_num, :journal_reply_num, :message_num, :message_reply_num, :news_reply_num, :resource_num, :user_id, :total_score, :homework_journal_num belongs_to :course belongs_to :user end diff --git a/app/models/journals_for_message.rb b/app/models/journals_for_message.rb index cdcf9d19e..044d30551 100644 --- a/app/models/journals_for_message.rb +++ b/app/models/journals_for_message.rb @@ -285,8 +285,10 @@ class JournalsForMessage < ActiveRecord::Base # 课程成员得分(英雄榜) def act_as_student_score - if !self.user.allowed_to?(:as_teacher, self.jour) && self.jour_type == "Course" + if self.jour_type == "Course" course_member_score(self.jour_id, self.user_id, "JournalForMessage") + elsif self.jour_type == "HomeworkCommon" + course_member_score(self.jour_id, self.user_id, "HomeworkCommon") end end diff --git a/db/migrate/20160303103231_add_homework_journal_to_course_contributor_scores.rb b/db/migrate/20160303103231_add_homework_journal_to_course_contributor_scores.rb new file mode 100644 index 000000000..505695fc0 --- /dev/null +++ b/db/migrate/20160303103231_add_homework_journal_to_course_contributor_scores.rb @@ -0,0 +1,5 @@ +class AddHomeworkJournalToCourseContributorScores < ActiveRecord::Migration + def change + add_column :course_contributor_scores, :homework_journal_num, :integer, :default => 0 + end +end diff --git a/db/schema.rb b/db/schema.rb index 61585b59d..2781c7614 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20160225024759) do +ActiveRecord::Schema.define(:version => 20160303103231) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false @@ -432,9 +432,10 @@ ActiveRecord::Schema.define(:version => 20160225024759) do t.integer "resource_num" t.integer "journal_num" t.integer "journal_reply_num" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.integer "total_score" + t.integer "homework_journal_num", :default => 0 end create_table "course_groups", :force => true do |t|