diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 99356946f..143b3ef7c 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -1241,6 +1241,8 @@ class ExercisesController < ApplicationController #筛选/分类,排序 order = params[:order] + order_type = params[:order_type] || "desc" + if @exercise_users_list.present? && @exercise_users_list.size > 0 @exercise_users_count = @exercise_users_list.size #当前显示的全部成员数量 teacher_reviews = @exercise_users_list.exercise_review @@ -1280,11 +1282,11 @@ class ExercisesController < ApplicationController exercise_user_joins = @exercise_users_list.joins(user: :user_extension) if order == "student_id" - @exercise_users_list = exercise_user_joins.order("user_extensions.student_id DESC") + @exercise_users_list = exercise_user_joins.order("user_extensions.student_id #{order_type}") elsif order == "score" - @exercise_users_list = exercise_user_joins.order("#{order} DESC") + @exercise_users_list = exercise_user_joins.order("#{order} #{order_type}") else - @exercise_users_list = exercise_user_joins.order("end_at DESC, start_at DESC") + @exercise_users_list = exercise_user_joins.order("end_at #{order_type}, start_at #{order_type}") end @export_ex_users = @exercise_users_list diff --git a/lib/tasks/poll_publish.rake b/lib/tasks/poll_publish.rake index 8cec43565..2460e88c9 100644 --- a/lib/tasks/poll_publish.rake +++ b/lib/tasks/poll_publish.rake @@ -85,42 +85,44 @@ namespace :poll_publish do task :end => :environment do #1.统一设置的截止 - polls = Poll.includes(:poll_users).where("polls_status = 2 AND unified_setting = true AND end_time <=?",Time.now + 900) + polls = Poll.includes(:poll_users).where("polls_status = 2 AND end_time <=?",Time.now + 900) polls.each do |poll| poll.update_column('polls_status', 3) - poll.poll_users.where("commit_status = 0 and start_at is not null").update_all(commit_status: 1, end_at: Time.now) + poll.poll_users.where("commit_status = 0 and start_at is not null").update_all(commit_status: 1, end_at: poll.end_time) if poll.unified_setting end #2.分班设置的截止 - polls = Poll.includes(:poll_users).where("polls_status = 2 AND unified_setting = false AND end_time > ?",Time.now + 900) - poll_ids = polls.blank? ? "(-1)" : "(" + polls.map(&:id).join(",") + ")" - polls_group_settings = PollGroupSetting.where("end_time <= '#{Time.now}' and poll_id in #{poll_ids}") - polls_group_settings.each do |poll_setting| + + # polls = Poll.includes(:poll_users).where("polls_status = 2 AND unified_setting = false AND end_time > ?",Time.now + 900) + # poll_ids = polls.blank? ? "(-1)" : "(" + polls.map(&:id).join(",") + ")" + # polls_group_settings = PollGroupSetting.where("end_time <= '#{Time.now}' and poll_id in #{poll_ids}") + # polls_group_settings.each do |poll_setting| + # poll = poll_setting.poll + # if poll&.end_time <= Time.now + # poll.update_column('polls_status', 3) + # end + # users = poll.course.course_members.where(course_group_id: poll_setting.course_group_id) + # poll.poll_users.where(user_id: users.pluck(:user_id)).where("commit_status = 0 and start_at is not null").update_all(commit_status: 1, end_at: Time.now) + # # poll_users.each do |poll_user| + # # if poll_user.commit_status == 0 && !poll_user.start_at.nil? + # # poll_user.update_attributes(:commit_status => 1, :end_at => Time.now) + # # end + # # end + # end + + PollGroupSetting.where("end_time < ? and end_time > ?", Time.now + 1800, Time.now - 1800).each do |poll_setting| poll = poll_setting.poll - if poll&.end_time <= Time.now - poll.update_column('polls_status', 3) - end - users = poll.course.course_members.where(course_group_id: poll_setting.course_group_id) - poll.poll_users.where(user_id: users.pluck(:user_id)).where("commit_status = 0 and start_at is not null").update_all(commit_status: 1, end_at: Time.now) + # poll.update_column('polls_status',3) + + users = poll.course.course_members.where(:course_group_id => poll_setting.course_group_id) + poll_users = poll.poll_users.where(:user_id => users.map(&:user_id)) + + poll_users.where("commit_status = 0 and start_at is not null").update_all(commit_status: 1, end_at: poll_setting.end_time) # poll_users.each do |poll_user| # if poll_user.commit_status == 0 && !poll_user.start_at.nil? # poll_user.update_attributes(:commit_status => 1, :end_at => Time.now) # end # end end - - # PollGroupSetting.where("end_time < ? and end_time > ?", Time.now + 1800, Time.now - 1800).each do |poll_setting| - # poll = poll_setting.poll - # poll.update_column('polls_status',3) - # - # users = poll.course.course_members.where(:course_group_id => poll_setting.course_group_id) - # poll_users = poll.poll_users.where(:user_id => users.map(&:user_id)) - # - # poll_users.each do |poll_user| - # if poll_user.commit_status == 0 && !poll_user.start_at.nil? - # poll_user.update_attributes(:commit_status => 1, :end_at => Time.now) - # end - # end - # end end end diff --git a/public/react/src/App.js b/public/react/src/App.js index 5988d3532..e4cd6a732 100644 --- a/public/react/src/App.js +++ b/public/react/src/App.js @@ -486,7 +486,7 @@ class App extends Component { {/*/!*众包创新*!/*/} {/*<Route path={"/crowdsourcing"} component={ProjectPackages}/>*/} {/*竞赛*/} - <Route path={"/newcompetitions"} + <Route path={"/competitions"} render={ (props) => {