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) => {