项目首页缓存设置

Signed-off-by: alan <547533434@qq.com>
redis_cache
alan 10 years ago
parent 32a6c29c7c
commit f47d30f22a

@ -28,7 +28,7 @@ gem 'acts-as-taggable-on', '2.4.1'
gem 'spreadsheet' gem 'spreadsheet'
gem 'ruby-ole' gem 'ruby-ole'
gem 'rails_kindeditor',path:'lib/rails_kindeditor' gem 'rails_kindeditor',path:'lib/rails_kindeditor'
gem "rmagick", ">= 2.0.0" #gem "rmagick", ">= 2.0.0"
group :development do group :development do
gem 'grape-swagger' gem 'grape-swagger'

@ -19,71 +19,73 @@ class WelcomeController < ApplicationController
include ApplicationHelper include ApplicationHelper
include WelcomeHelper include WelcomeHelper
helper :project_score helper :project_score
caches_action :robots, :course, :contest, :index, expires_in: 2.hours, layout: false caches_action :robots, :course, :contest, expires_in: 2.hours, layout: false
#before_filter :find_first_page, :only => [:index] #before_filter :find_first_page, :only => [:index]
# before_filter :fake, :only => [:index, :course] # before_filter :fake, :only => [:index, :course]
before_filter :entry_select, :only => [:index] before_filter :entry_select, :only => [:index]
def index def index
# 企业版定制: params[:project]为传过来的参数 # 企业版定制: params[:project]为传过来的参数
unless params[:organization].nil?
@organization = Organization.find params[:organization] unless params[:organization].nil?
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all @organization = Organization.find params[:organization]
@organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all # @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : [] @organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all
# @cur_projects = Project.find(params[:organization]) @part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
# @organization = @cur_projects.enterprise_name # @cur_projects = Project.find(params[:organization])
# @organization_projects = (current_user.admin? || User.current.member_of?(@cur_projects)) ? Project.where("enterprise_name =? ", @organization) : Project.all_public.where("enterprise_name =? ", @organization) # @organization = @cur_projects.enterprise_name
# @e_count = @organization_projects.count # @organization_projects = (current_user.admin? || User.current.member_of?(@cur_projects)) ? Project.where("enterprise_name =? ", @organization) : Project.all_public.where("enterprise_name =? ", @organization)
# @part_projects = [] # @e_count = @organization_projects.count
# # 取十个 # @part_projects = []
# @organization_projects.each do |obj| # # 取十个
# break if(@organization_projects[10] == obj) # @organization_projects.each do |obj|
# @part_projects << Project.visible.find_by_id("#{obj.id}") unless obj.id.nil? # break if(@organization_projects[10] == obj)
# end # @part_projects << Project.visible.find_by_id("#{obj.id}") unless obj.id.nil?
# # 不够十个的用最火项目替代 # end
# @e_count < 9 ? @part_projects = find_miracle_project( 9 - @e_count, 3,"score desc") : @part_projects # # 不够十个的用最火项目替代
# # 配置文件首页定制 # @e_count < 9 ? @part_projects = find_miracle_project( 9 - @e_count, 3,"score desc") : @part_projects
@enterprise_page = FirstPage.find_by_page_type('enterprise') # # 配置文件首页定制
if @enterprise_page.nil? @enterprise_page = FirstPage.find_by_page_type('enterprise')
@enterprise_page = FirstPage.new if @enterprise_page.nil?
@enterprise_page.page_type = 'enterprise' @enterprise_page = FirstPage.new
@enterprise_page.page_type = 'enterprise'
end
# 主页配置部分结束
end end
# 主页配置部分结束 # end 企业版定制结束
end
# end 企业版定制结束
if @first_page.nil? || @first_page.sort_type.nil? if @first_page.nil? || @first_page.sort_type.nil?
@projects = find_miracle_project(10, 3,"score desc") @projects = find_miracle_project(10, 3,"score desc")
else else
case @first_page.sort_type case @first_page.sort_type
when 0 when 0
@my_projects = find_my_projects @my_projects = find_my_projects
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : [] @other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
@projects = find_miracle_project(10, 3,"created_on desc") @projects = find_miracle_project(10, 3,"created_on desc")
#@projects = @projects_all.order("created_on desc") #@projects = @projects_all.order("created_on desc")
when 1 when 1
@my_projects = find_my_projects @my_projects = find_my_projects
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : [] @other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
@projects = find_miracle_project(10, 3,"score desc") @projects = find_miracle_project(10, 3,"score desc")
#@projects = @projects_all.order("grade desc") #@projects = @projects_all.order("grade desc")
when 2 when 2
@my_projects = find_my_projects @my_projects = find_my_projects
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : [] @other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
@projects = find_miracle_project(10, 3,"watchers_count desc") @projects = find_miracle_project(10, 3,"watchers_count desc")
#@projects = @projects_all.order("watchers_count desc") #@projects = @projects_all.order("watchers_count desc")
#gcm #gcm
#when '3' #when '3'
#@projects=desc_sort_course_by_avtivity(@project_activity_count_array,@project_all_array) #@projects=desc_sort_course_by_avtivity(@project_activity_count_array,@project_all_array)
# @projects=handle_project @projects_all,@project_activity_count # @projects=handle_project @projects_all,@project_activity_count
# @s_type = 3 # @s_type = 3
# @projects = @projects[@project_pages.offset, @project_pages.per_page] # @projects = @projects[@project_pages.offset, @project_pages.per_page]
else else
@projects = @projects_all.order("score desc") @projects = @projects_all.order("score desc")
end
end end
end
rescue Exception => e rescue Exception => e
render_404 render_404
end end

@ -1,11 +1,13 @@
<%= render :partial => "layouts/base_feedback" %> <%= render :partial => "layouts/base_feedback" %>
<div id="top-menu" style="background-color: #15bccf;height:40px;margin-top: 10px;margin-bottom: 10px;"> <div id="top-menu" style="background-color: #15bccf;height:40px;margin-top: 10px;margin-bottom: 10px;">
<div class="welcome_logo"> <div class="welcome_logo">
<%=link_to image_tag("/images/logo.png",weight:"36px", height: "36px")%> <%=link_to image_tag("/images/logo.png",weight:"36px", height: "36px")%>
</div> </div>
<div id="account"> <div id="account">
<%= render_menu :account_menu -%> <%= render_menu :account_menu -%>
</div> </div>
<% if User.current.logged? -%> <% if User.current.logged? -%>
<div id="loggedas"> <div id="loggedas">
<ul style="padding:0 0; margin:0 0;display:inline;"> <ul style="padding:0 0; margin:0 0;display:inline;">

@ -3,12 +3,14 @@
<%=link_to l(:label_my_course), user_courses_user_path(User.current.id) %> <%=link_to l(:label_my_course), user_courses_user_path(User.current.id) %>
<ul class="course_sub_menu"> <ul class="course_sub_menu">
<% course_index = 0 %> <% course_index = 0 %>
<% cache User.current.courses.each do |course| %> <% cache User.current.courses.count do%>
<% User.current.courses.each do |course| %>
<% if !course_endTime_timeout?(course) %> <% if !course_endTime_timeout?(course) %>
<%= render :partial => 'layouts/user_homework_list', :locals => {:course => course,:course_index => course_index} %> <%= render :partial => 'layouts/user_homework_list', :locals => {:course => course,:course_index => course_index} %>
<% course_index += 1 %> <% course_index += 1 %>
<% end %> <% end %>
<% end %> <% end %>
<% end %>
</ul> </ul>
</li> </li>
<% end %> <% end %>

@ -2,11 +2,13 @@
<li id="project_loggedas_li" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"> <li id="project_loggedas_li" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
<%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.host_name} %> <%= link_to l(:label_my_projects), {:controller => 'users', :action => 'user_projects', id: User.current.id, host: Setting.host_name} %>
<ul class="project_sub_menu" style="top:<%= hasCourse ? 35 : 0 %>px;"> <ul class="project_sub_menu" style="top:<%= hasCourse ? 35 : 0 %>px;">
<% cache User.current.projects.count do%>
<% User.current.projects.each do |project| %> <% User.current.projects.each do |project| %>
<li style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" title="<%=project.name%>"> <li style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" title="<%=project.name%>">
<%= link_to project.name, {:controller => 'projects', :action => 'show',id: project.id, host: Setting.host_name } %> <%= link_to project.name, {:controller => 'projects', :action => 'show',id: project.id, host: Setting.host_name } %>
</li> </li>
<% end %> <% end %>
<% end %>
</ul> </ul>
</li> </li>
<% end %> <% end %>

@ -141,15 +141,15 @@
<%= @contest_page.title %> <%= @contest_page.title %>
!--> !-->
<%= l(:label_welcome_trustie_contest) %> <%= l(:label_welcome_trustie_contest) %>
</span> </span>
<span class="font_welcome_tdescription">, <span class="font_welcome_tdescription">,
<!-- <!--
edit by meng edit by meng
@course_page.description存储在first_page表中的description字段 @course_page.description存储在first_page表中的description字段
原本代码 原本代码
<%= @contest_page.description %> <%= @contest_page.description %>
!--> !-->
<%= l(:label_welcome_trustie_contest_description) %> <%= l(:label_welcome_trustie_contest_description) %>
</span> </span>
<% end %> <% end %>
</div> </div>

@ -23,7 +23,7 @@
$(document).ready(function($) { $(document).ready(function($) {
$("#loggedas").find("a").attr("target", "_blank"); $("#loggedas").find("a").attr("target", "_blank");
//$("#content .tabs_new~ .pagination").find("a").removeAttr("target"); //$("#content .tabs_new~ .pagination").find("a").removeAttr("target");
}); });
</script> </script>
<div class='top_bar'> <div class='top_bar'>
@ -45,7 +45,7 @@
<% if @organization.nil? %> <% if @organization.nil? %>
<% unless @first_page.nil? %> <% unless @first_page.nil? %>
<!-- 改为国际化后无法通过后台配置 <!-- 改为国际化后无法通过后台配置
<%= @first_page.description.html_safe %> <%= @first_page.description.html_safe %>
--> -->
<span class="font_welcome_trustie"><%= l(:label_welcome_trustie_project)%></span>,&nbsp; <span class="font_welcome_trustie"><%= l(:label_welcome_trustie_project)%></span>,&nbsp;
<span class="font_welcome_tdescription"><span class="font_welcome_tdescription"><%= l(:label_welcome_trustie_project_description)%></span></span> <span class="font_welcome_tdescription"><span class="font_welcome_tdescription"><%= l(:label_welcome_trustie_project_description)%></span></span>
@ -68,7 +68,7 @@
</div> </div>
<div style="clear:both"></div> <div style="clear:both"></div>
<% cache :expire_in => 2.hours do%>
<div id="J_Slide" class="d-p-index-box d-p-index-hot"> <div id="J_Slide" class="d-p-index-box d-p-index-hot">
<h3 style="margin-left: 5px; color: #e8770d;"><strong> <%= l(:lable_hot_projects)%> </strong></h3> <h3 style="margin-left: 5px; color: #e8770d;"><strong> <%= l(:lable_hot_projects)%> </strong></h3>
<span style="margin-top: -20px;float: right; display: block;"> <% if User.current.logged? %> <span style="margin-top: -20px;float: right; display: block;"> <% if User.current.logged? %>
@ -113,7 +113,7 @@
</ul> </ul>
</div> </div>
</div> </div>
<% end %>
<div class="right" style="float: right; width: 48%; padding-top: 8px;"> <div class="right" style="float: right; width: 48%; padding-top: 8px;">
<ul class="welcome-message-list"> <ul class="welcome-message-list">
<div class="forum-topic" style="height: 25px; width: 98%; margin-left: 2px;"> <div class="forum-topic" style="height: 25px; width: 98%; margin-left: 2px;">
@ -123,6 +123,7 @@
</div> </div>
<div class="welcome-box-list-new memo_activity"> <div class="welcome-box-list-new memo_activity">
<% topics = find_new_forum_topics(12) %> <% topics = find_new_forum_topics(12) %>
<% cache topics.maximum(:created_at) do%>
<% topics.includes(:forum, :last_reply, :author).each do |topic|%> <% topics.includes(:forum, :last_reply, :author).each do |topic|%>
<li class="message-brief-intro" style="line-height:1.4em;"> <li class="message-brief-intro" style="line-height:1.4em;">
<div class='memo_title text_nowrap'> <div class='memo_title text_nowrap'>
@ -151,7 +152,8 @@
</span> </span>
</div> </div>
</li> </li>
<%end %> <% end %>
<% end %>
</div> </div>
</ul> </ul>
</div> </div>

@ -438,13 +438,6 @@ ActiveRecord::Schema.define(:version => 20150514133640) do
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority" add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
create_table "discuss_demos", :force => true do |t|
t.string "title"
t.text "body"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "documents", :force => true do |t| create_table "documents", :force => true do |t|
t.integer "project_id", :default => 0, :null => false t.integer "project_id", :default => 0, :null => false
t.integer "category_id", :default => 0, :null => false t.integer "category_id", :default => 0, :null => false
@ -659,16 +652,6 @@ ActiveRecord::Schema.define(:version => 20150514133640) do
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id" add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
create_table "journal_details_copy", :force => true do |t|
t.integer "journal_id", :default => 0, :null => false
t.string "property", :limit => 30, :default => "", :null => false
t.string "prop_key", :limit => 30, :default => "", :null => false
t.text "old_value"
t.text "value"
end
add_index "journal_details_copy", ["journal_id"], :name => "journal_details_journal_id"
create_table "journal_replies", :id => false, :force => true do |t| create_table "journal_replies", :id => false, :force => true do |t|
t.integer "journal_id" t.integer "journal_id"
t.integer "user_id" t.integer "user_id"

Loading…
Cancel
Save