From a079a61c8274a5b59ea0895ad00f0d4a08e75d36 Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 5 Mar 2016 04:29:10 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_courses.html.erb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index ceb526f44..6ca56e8b2 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -156,15 +156,16 @@ <% contributor_course_scor(@course.id).each do |contributor_score| %> - <% unless contributor_score.total_score ==0 %> + <% total_score = contributor_score.resource_num.to_i * 5 + contributor_score.message_num.to_i * 2 + + contributor_score.message_reply_num.to_i * 1 + contributor_score.journal_num.to_i * 1 + + + contributor_score.homework_journal_num.to_i * 1 + contributor_score.news_reply_num.to_i * 1 + + contributor_score.news_num.to_i * 1 %> + <% unless total_score ==0 %>
  • <%=link_to image_tag(url_to_avatar(contributor_score.user), :width => "35", :height => "35", :class=> "rankPortrait"),user_path(contributor_score.user) %>

    <%=link_to contributor_score.user.show_name, user_path(contributor_score.user), :title => contributor_score.user.show_name %>

    - <%=total_score = contributor_score.resource_num.to_i * 5 + contributor_score.message_num.to_i * 2 + - contributor_score.message_reply_num.to_i * 1 + contributor_score.journal_num.to_i * 1 + - + contributor_score.homework_journal_num.to_i * 1 + contributor_score.news_reply_num.to_i * 1 + - contributor_score.news_num.to_i * 1 %>

    + <%=total_score %>

    From 0a18f365abde9c13f323579dda6c80a2252f8f4e Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 5 Mar 2016 08:00:56 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=96=B0=E7=9A=84=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ibutor.rb => 20160304234903_uodapte_contributor_course.rb} | 4 ++-- db/schema.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename db/migrate/{20160304200639_update_contributor.rb => 20160304234903_uodapte_contributor_course.rb} (91%) diff --git a/db/migrate/20160304200639_update_contributor.rb b/db/migrate/20160304234903_uodapte_contributor_course.rb similarity index 91% rename from db/migrate/20160304200639_update_contributor.rb rename to db/migrate/20160304234903_uodapte_contributor_course.rb index d90699b91..e0f86550d 100644 --- a/db/migrate/20160304200639_update_contributor.rb +++ b/db/migrate/20160304234903_uodapte_contributor_course.rb @@ -1,4 +1,4 @@ -class UpdateContributor < ActiveRecord::Migration +class UodapteContributorCourse < ActiveRecord::Migration def up Course.all.each do |course| if course.course_activities.count > 1 @@ -21,7 +21,7 @@ class UpdateContributor < ActiveRecord::Migration # 课程留言数 journal_count = JournalsForMessage.where("user_id =? and jour_id =? and jour_type =? ", s.user_id, course.id, "Course").count * 1 # 作业留言 - journal_homework_count = JournalsForMessage.where("user_id =? and jour_id =? and jour_type =? ", s.user_id, course.id, "HomeworkCommon").count * 1 + journal_homework_count = JournalsForMessage.find_by_sql("SELECT jfm.* FROM `journals_for_messages` jfm, homework_commons hc where hc.id = jfm.jour_id and hc.course_id =#{course.id} and jfm.user_id =#{s.user_id} and jfm.jour_type ='HomeworkCommon';").count * 1 # journal_count = CourseActivity.where("user_id =? and course_id =? and course_act_type =?", s.student_id, course.id, "JournalsForMessage").count * 1 # journal_reply_count = JournalsForMessage.where("user_id =? and jour_id =? and jour_type =? and status =?", s.student_id, course.id, "Course",1).count * 1 total = board_count + message_reply_count + common_reply_count + attachment_count + journal_count diff --git a/db/schema.rb b/db/schema.rb index c21580c90..0fc14740c 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 => 20160304154643) do +ActiveRecord::Schema.define(:version => 20160304200639) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false From 4f2937e1a2531887c44ddcaf15528d148f2ce4aa Mon Sep 17 00:00:00 2001 From: huang Date: Sat, 5 Mar 2016 10:38:21 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E8=8B=B1=E9=9B=84=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/layouts/base_courses.html.erb | 42 +++++++++++++++---------- db/schema.rb | 2 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index 6ca56e8b2..ab47d2691 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -144,14 +144,14 @@

      课程活跃度积分规则

      @@ -176,23 +176,26 @@
      积分计算
      <%# unless contributor_score.resource_num.to_i == 0 %> - 课程资源:资源数 x 5 = <%= contributor_score.resource_num.to_i %> x 5 = <%= contributor_score.resource_num.to_i * 5 %>
      + 资源发布数 x 5 = <%= contributor_score.resource_num.to_i %> x 5 = <%= contributor_score.resource_num.to_i * 5 %>
      <%# end %> <%# unless contributor_score.message_num.to_i == 0 %> - 课程讨论:发帖数 x 2 = <%= contributor_score.message_num.to_i %> x 2 = <%= contributor_score.message_num.to_i * 2 %>
      + 问答发布数 x 2 = <%= contributor_score.message_num.to_i %> x 2 = <%= contributor_score.message_num.to_i * 2 %>
      + 通知发布数 x 1 = <%= contributor_score.news_num.to_i %> x 1 = <%= contributor_score.news_num.to_i %>
      <%# end %> <%# unless contributor_score.message_reply_num.to_i == 0 %> - 评论回复:回复数 x 1 = <%= contributor_score.message_reply_num.to_i %> x 1 = <%= contributor_score.message_reply_num.to_i %>
      + 问答回帖数 x 1 = <%= contributor_score.message_reply_num.to_i %> x 1 = <%= contributor_score.message_reply_num.to_i %>
      + 作业留言数 x 1 = <%= contributor_score.homework_journal_num.to_i %> x 1 = <%= contributor_score.homework_journal_num.to_i %>
      + 通知留言数 x 1 = <%= contributor_score.news_reply_num.to_i %> x 1 = <%= contributor_score.news_reply_num.to_i %>
      <%# end %> <%# unless contributor_score.journal_num.to_i == 0 %> - 课程留言:留言数 x 1 = <%= contributor_score.journal_num.to_i %> x 1 = <%= contributor_score.journal_num.to_i %>
      + 课程留言数 x 1 = <%= contributor_score.journal_num.to_i %> x 1 = <%= contributor_score.journal_num.to_i %>
      <%# end %> <%# unless contributor_score.homework_journal_num.to_i == 0 %> - 作业留言:留言数 x 1 = <%= contributor_score.homework_journal_num.to_i %> x 1 = <%= contributor_score.homework_journal_num.to_i %>
      + <%# end %> <%# unless contributor_score.news_reply_num.to_i == 0 %> - 发布通知:通知数 x 1 = <%= contributor_score.news_num.to_i %> x 1 = <%= contributor_score.news_num.to_i %>
      - 通知回复:回复数 x 1 = <%= contributor_score.news_reply_num.to_i %> x 1 = <%= contributor_score.news_reply_num.to_i %>
      + + <%# end %> 总得分:<%=total_score %> @@ -206,12 +209,17 @@ <% hero_homework_scores = hero_homework_score(@course, "desc") %> <% unless hero_homework_scores.map(&:score).detect{|s| s.to_i != 0}.nil? %>
        -

        课程英雄榜积分规则

        +

        课程英雄榜 + 积分规则

        + <% hero_homework_scores.each do |student_score| %> <% if student_score.score.to_i != 0 %>
      • <%=link_to image_tag(url_to_avatar(student_score.user), :width => "35", :height => "35", :class=> "rankPortrait"),user_path(student_score.user) %>

        <%=link_to student_score.user.show_name, user_path(student_score.user), :title => student_score.user.show_name %>

        -

        <%= student_score.score<0 ? 0 : student_score.score.to_i %>

        +

        <%= student_score.score<0 ? 0 : student_score.score.to_i %>

      • <% end %> <% end %> diff --git a/db/schema.rb b/db/schema.rb index 0fc14740c..a7ffc23b1 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 => 20160304200639) do +ActiveRecord::Schema.define(:version => 20160304234903) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false From d30e73795d5199995e36e722304e9d72ae836d6d Mon Sep 17 00:00:00 2001 From: huang Date: Sun, 6 Mar 2016 12:15:57 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E7=A7=AF=E5=88=86=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/courses_helper.rb | 5 +- app/views/layouts/base_courses.html.erb | 66 ++++++++++++------------- public/stylesheets/courses.css | 5 ++ 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 6fb9380e7..521dcf189 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -856,7 +856,10 @@ module CoursesHelper end def contributor_course_scor(course_id) - ccs = CourseContributorScore.where("course_id =?", course_id).order("total_score desc") .limit(9) + puts "########################################################{course_id}" + ccs = CourseContributorScore.find_by_sql("SELECT * FROM `course_contributor_scores` where course_id = #{course_id} order by + (message_num*2 + message_reply_num + news_reply_num + news_num + + resource_num*5 + journal_num + homework_journal_num ) desc limit 9;") end end diff --git a/app/views/layouts/base_courses.html.erb b/app/views/layouts/base_courses.html.erb index ab47d2691..14ed8a93b 100644 --- a/app/views/layouts/base_courses.html.erb +++ b/app/views/layouts/base_courses.html.erb @@ -142,9 +142,11 @@
        <% unless contributor_course_scor(@course.id).count == 0 %>
          -

          课程活跃度积分规则

          -