feat: 新增最佳开源项目查询

This commit is contained in:
lexiaozhang 2023-08-14 22:56:00 +08:00
parent 8a847ee053
commit 824767ca30
2 changed files with 18 additions and 3 deletions

View File

@ -4,9 +4,9 @@ class ProjectsController < ApplicationController
include ProjectsHelper
include Acceleratorable
before_action :require_login, except: %i[index branches branches_slice group_type_list simple show fork_users praise_users watch_users recommend banner_recommend about menu_list verify_auth_token score]
before_action :require_login, except: %i[index branches branches_slice group_type_list simple show fork_users praise_users watch_users recommend banner_recommend about menu_list verify_auth_token score top]
before_action :require_profile_completed, only: [:create, :migrate,:verify_auth_token]
before_action :load_repository, except: %i[index group_type_list migrate create recommend banner_recommend verify_auth_token]
before_action :load_repository, except: %i[index group_type_list migrate create recommend banner_recommend verify_auth_token top]
before_action :authorizate_user_can_edit_project!, only: %i[update]
before_action :project_public?, only: %i[fork_users praise_users watch_users]
before_action :request_limit, only: %i[index]
@ -306,6 +306,21 @@ class ProjectsController < ApplicationController
}
render json: response_data
end
def top
period = params[:period]
time_interval = params[:time_interval]
if period.present? && time_interval.present?
project_evaluation_ids = ProjectEvaluationTop.where(evaluation_period: period, time_interval: time_interval)
.pluck(:project_id)
projects = Project.where(id: project_evaluation_ids).includes(:project_category, :project_language, :repository, :project_educoder, :owner, :project_units, :project_topics).project_statics_select
render json: projects
else
render_error("参数错误")
end
end

View File

@ -242,6 +242,7 @@ Rails.application.routes.draw do
get :recommend
get :banner_recommend
post :verify_auth_token
get :top
end
end
@ -805,7 +806,6 @@ Rails.application.routes.draw do
put :update
end
end
resources :project_categories
resources :project_licenses
resources :project_ignores