Merge branch 'develop' of https://gitlink.org.cn/Trustie/forgeplus into develop

This commit is contained in:
yystopf 2022-11-09 11:37:18 +08:00
commit 7817487ab7
3 changed files with 21 additions and 4 deletions

View File

@ -39,8 +39,9 @@ class ProjectsController < ApplicationController
category_id = params[:category_id] category_id = params[:category_id]
@total_count = @total_count =
if category_id.blank? if category_id.blank?
ps = ProjectStatistic.first # ps = ProjectStatistic.first
ps.common_projects_count + ps.mirror_projects_count unless ps.blank? # ps.common_projects_count + ps.mirror_projects_count unless ps.blank?
@projects.total_count
else else
cate = ProjectCategory.find_by(id: category_id) cate = ProjectCategory.find_by(id: category_id)
cate&.projects_count || 0 cate&.projects_count || 0

View File

@ -17,6 +17,7 @@ class Projects::ListQuery < ApplicationQuery
sort = params[:sort_by] || "updated_on" sort = params[:sort_by] || "updated_on"
sort_direction = params[:sort_direction] || "desc" sort_direction = params[:sort_direction] || "desc"
# collection = optimize_sorting(collection, sort) if params[:category_id].present?
custom_sort(collection, sort, sort_direction) custom_sort(collection, sort, sort_direction)
# scope = scope.reorder("projects.#{sort} #{sort_direction}") # scope = scope.reorder("projects.#{sort} #{sort_direction}")
@ -51,5 +52,20 @@ class Projects::ListQuery < ApplicationQuery
def by_pinned(items) def by_pinned(items)
(params[:pinned].present? && params[:category_id].present?) ? items.pinned : items (params[:pinned].present? && params[:category_id].present?) ? items.pinned : items
end 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 end

View File

@ -1,4 +1,4 @@
json.total_count @projects.total_count json.total_count @total_count
json.projects @projects do |project| json.projects @projects do |project|
# json.partial! "/projects/project_detail", project: project # json.partial! "/projects/project_detail", project: project
json.id project.id json.id project.id
@ -22,7 +22,7 @@ json.projects @projects do |project|
project_educoder = project.project_educoder project_educoder = project.project_educoder
json.name project_educoder&.owner json.name project_educoder&.owner
json.login project_educoder&.repo_name.split('/')[0] json.login project_educoder&.repo_name.split('/')[0]
json.image_url render_educoder_avatar_url(project.project_educoder) # json.image_url render_educoder_avatar_url(project.project_educoder)
else else
user = project.owner user = project.owner
json.type user.type json.type user.type