From fef03e6d22099f30dabb5e2d3ab631953cf970d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cxxq250=E2=80=9D?= <“xxq250@qq.com”> Date: Tue, 6 Sep 2022 14:07:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=9E=E8=B5=9B=E5=88=97=E8=A1=A8=E9=9D=9E?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8F=AF=E8=AE=BF=E9=97=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/competition_infos_controller.rb | 11 ++++++++++- config/routes.rb | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/controllers/competition_infos_controller.rb b/app/controllers/competition_infos_controller.rb index 7891a8ce..ece2ed83 100644 --- a/app/controllers/competition_infos_controller.rb +++ b/app/controllers/competition_infos_controller.rb @@ -8,7 +8,6 @@ class CompetitionInfosController < ApplicationController def index @competition_infos = CompetitionInfo.order(created_at: :desc) - @competition_infos = @competition_infos.where(status: true) if params[:status]=="true" @competition_infos = @competition_infos.where("title like ?", "%#{params[:name]}%") if params[:name].present? if params[:sort_by].to_s == "hot" @competition_infos = @competition_infos.select("competition_infos.*, (SELECT count(1) from competition_users where competition_users.competition_info_id = competition_infos.id ) as count").order("count desc") @@ -19,6 +18,16 @@ class CompetitionInfosController < ApplicationController end end + def recommend + @competition_infos = CompetitionInfo.where(status: false).order(created_at: :desc) + @competition_infos = @competition_infos.where("title like ?", "%#{params[:name]}%") if params[:name].present? + if params[:sort_by].to_s == "hot" + @competition_infos = @competition_infos.select("competition_infos.*, (SELECT count(1) from competition_users where competition_users.competition_info_id = competition_infos.id ) as count").order("count desc") + end + @competition_infos = paginate(@competition_infos) + render_ok(data: @competition_infos.as_json) + end + # GET /competition_infos/new def new @competition_info = CompetitionInfo.new diff --git a/config/routes.rb b/config/routes.rb index 2932a037..3d198025 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -401,6 +401,7 @@ Rails.application.routes.draw do resources :notices, only: [:create] resources :competition_infos do + get :recommend, on: :collection post :auto_score, on: :collection member do get :enroll_list