From c84a9e6e10624b013bad954f2300feb1cd469597 Mon Sep 17 00:00:00 2001 From: cxt Date: Thu, 21 Jul 2016 10:47:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=B8=BB=E9=A1=B5=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E9=9C=80=E8=A6=81=E5=AF=B9=E5=85=B6=E4=BB=96=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=98=BE=E7=A4=BA=E5=85=B3=E6=B3=A8=E4=BA=BA=E7=9A=84?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E3=80=82=E4=BE=8B=E5=A6=82=EF=BC=8C=E6=88=91?= =?UTF-8?q?=E7=9C=8B=E5=91=A8=E8=80=81=E5=B8=88=E7=9A=84=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E6=97=B6=EF=BC=8C=E4=B8=8D=E5=BA=94=E8=AF=A5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=88=91=E7=9A=84=E5=8D=9A=E5=AE=A2=E5=8A=A8?= =?UTF-8?q?=E6=80=81=EF=BC=9B=E4=BD=86=E4=BB=96=E6=9C=AC=E4=BA=BA=E7=9C=8B?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=E7=9A=84=E4=B8=BB=E9=A1=B5=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=BA=94=E8=AF=A5=E6=98=BE=E7=A4=BA=E5=B0=B9=E5=88=9A=E7=9A=84?= =?UTF-8?q?=E5=8D=9A=E5=AE=A2=E5=8A=A8=E6=80=81=EF=BC=8C=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E4=BB=96=E5=85=B3=E6=B3=A8=E6=88=91=E4=BA=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2d16f1a2b..7b7ac8e39 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1565,7 +1565,11 @@ class UsersController < ApplicationController when "current_user" @user_activities = UserActivity.where("user_id = #{@user.id} and ((container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}))").order('updated_at desc').limit(10).offset(@page * 10) else - blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + if @user == User.current + blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" + else + blog_ids = "("+@user.blog.id.to_s+")" + end @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types})" + "or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types}) "+ "or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id}) " + @@ -1575,8 +1579,12 @@ class UsersController < ApplicationController # @user_activities = UserActivity.where("(container_type = 'Project' and container_id in #{user_project_ids} and act_type in #{project_types}) or (container_type = 'Course' and container_id in #{user_course_ids} and act_type in #{course_types})or (container_type = 'Principal' and act_type= '#{principal_types}' and container_id = #{@user.id})").order('updated_at desc').limit(10).offset(@page * 10) # blog_ids = "("+@user.blog.id.to_s+","+((User.watched_by(@user.id).count == 0 )? '0' :User.watched_by(@user.id).map{|u| u.blog.id}.join(','))+")" # 减少数据库交互 - watched_user_ids = User.watched_by(@user.id).count == 0 ? " " : ("," + User.watched_by(@user.id).map{|u| u.id.to_s }.join(',')) - user_ids = "(" + @user.id.to_s + watched_user_ids + ")" + if @user == User.current + watched_user_ids = User.watched_by(@user.id).count == 0 ? " " : ("," + User.watched_by(@user.id).map{|u| u.id.to_s }.join(',')) + user_ids = "(" + @user.id.to_s + watched_user_ids + ")" + else + user_ids = "(" + @user.id.to_s + ")" + end watched_user_blog_ids = Blog.select("id").where("author_id in #{user_ids}") blog_ids = watched_user_blog_ids.empty? ? "(-1)" : "(" + watched_user_blog_ids.map { |blog| blog.id}.join(",") + ")"