Browse Source

fixed 项目优化排序

pull/313/head
“xxq250” 3 years ago
parent
commit
ccbbab0741
1 changed files with 16 additions and 0 deletions
  1. +16
    -0
      app/queries/projects/list_query.rb

+ 16
- 0
app/queries/projects/list_query.rb View File

@@ -17,6 +17,7 @@ class Projects::ListQuery < ApplicationQuery
sort = params[:sort_by] || "updated_on"
sort_direction = params[:sort_direction] || "desc"

collection = optimize_sorting(collection, sort)
custom_sort(collection, sort, sort_direction)

# scope = scope.reorder("projects.#{sort} #{sort_direction}")
@@ -51,5 +52,20 @@ class Projects::ListQuery < ApplicationQuery
def by_pinned(items)
(params[:pinned].present? && params[:category_id].present?) ? items.pinned : items
end

# 优化排序
def optimize_sorting(relations, sort_by)
if sort_by == "updated_on"
relations.where("projects.updated_on>'2010-01-01'")
elsif sort_by == "created_on"
relations.where("projects.created_on>'2010-01-01'")
elsif sort_by == "forked_count"
relations.where("projects.forked_count>=0")
elsif sort_by == "praises_count"
relations.where("projects.praises_count>=0")
else
relations
end
end
end

Loading…
Cancel
Save