Merge branch 'dev_aliyun' of http://bdgit.educoder.net/Hjqreturn/educoder into dev_aliyun

dev_forum
cxt 6 years ago
commit ad4f70e0d4

@ -424,14 +424,18 @@ class ExerciseQuestionsController < ApplicationController
begin begin
choice_d_id = params[:choice_no].to_i # 选项的当前位置 choice_d_id = params[:choice_no].to_i # 选项的当前位置
question_choices = @exercise_question.exercise_choices question_choices = @exercise_question.exercise_choices
delete_answer = question_choices.find_choice_custom("choice_position",choice_d_id).first delete_answer = question_choices.find_by(choice_position: choice_d_id)
left_choice = question_choices.left_choice_choose("choice_position",choice_d_id) left_choices = question_choices.where("choice_position > ? ",choice_d_id)
if left_choice.present? left_choices.update_all("choice_position = choice_position - 1") if left_choices
left_choice.each do |p| # delete_answer = question_choices.find_choice_custom("choice_position",choice_d_id).first
p.choice_position -= 1 #
p.save # left_choice = question_choices.left_choice_choose("choice_position",choice_d_id)
end # if left_choice.present?
end # left_choice.each do |p|
# p.choice_position -= 1
# p.save
# end
# end
if delete_answer.destroy if delete_answer.destroy
normal_status(0, "答案删除成功!") normal_status(0, "答案删除成功!")
else else
@ -450,13 +454,15 @@ class ExerciseQuestionsController < ApplicationController
begin begin
question_d_id = @exercise_question.question_number.to_i #问题的当前位置 question_d_id = @exercise_question.question_number.to_i #问题的当前位置
exercise_questions = @exercise.exercise_questions exercise_questions = @exercise.exercise_questions
left_question = exercise_questions.left_question_choose("question_number",question_d_id) left_questions = exercise_questions.where("question_number > ?", question_d_id)
if left_question.present? left_questions.update_all("question_number = question_number - 1") if left_questions
left_question.each do |q| # left_question = exercise_questions.left_question_choose("question_number",question_d_id)
q.question_number -= 1 # if left_question.present?
q.save # left_question.each do |q|
end # q.question_number -= 1
end # q.save
# end
# end
if @exercise_question.destroy if @exercise_question.destroy
normal_status(0, "问题删除成功!") normal_status(0, "问题删除成功!")
else else

@ -344,11 +344,20 @@ class GamesController < ApplicationController
@game.update_attribute(:test_sets_view, true) @game.update_attribute(:test_sets_view, true)
# 扣分记录 # 扣分记录
Grade.create(:user_id => current_user.id, :container_id => @game.id, :score => -@minus_grade, :container_type => "testSet") Grade.create(:user_id => current_user.id, :container_id => @game.id, :score => -@minus_grade, :container_type => "testSet")
@status = 0 max_query_index = game.query_index.to_i
@message = "解锁成功!" # 区分评测过未评测过,未评测过按需求取数据
if max_query_index > 0
qurey_test_sets = TestSet.find_by_sql("SELECT o.code, o.actual_output, o.out_put, o.result, o.compile_success, o.test_set_position, o.query_index,t.is_public,t.input, t.output, g.id as game_id, c.id as challenge_id FROM outputs o,games g ,challenges c,test_sets t where
g.id=#{game.id} and o.query_index=#{max_query_index} and g.id = o.game_id and c.id= g.challenge_id and t.challenge_id = c.id and t.position =o.test_set_position order by o.query_index
")
else
qurey_test_sets = TestSet.find_by_sql("SELECT t.is_public,t.input, t.output,t.position FROM games g ,challenges c,test_sets t where
g.id=#{game.id} and c.id= g.challenge_id and t.challenge_id = c.id
")
end
testset_detail max_query_index, challenge
else else
@status = -1 tip_exception(-1, "本操作需要扣除#{ @minus_grade }金币,您的金币不够了")
@message = "本操作需要扣除#{ @minus_grade }金币,您的金币不够了"
end end
end end
@ -813,7 +822,7 @@ class GamesController < ApplicationController
# 评测测试机封装 # 评测测试机封装
def testset_detail max_query_index, challenge def testset_detail max_query_index, challenge
# 是否允许查看隐藏的测试集以前的power # 是否允许查看隐藏的测试集以前的power
@allowed_hidden_testset = @identity < User::EDU_GAME_MANAGER @allowed_hidden_testset = @identity < User::EDU_GAME_MANAGER || @game.test_sets_view #解锁的用户
if max_query_index > 0 if max_query_index > 0
uid_logger("max_query_index is #{max_query_index} game id is #{@game.id}, challenge_id is #{challenge.id}") uid_logger("max_query_index is #{max_query_index} game id is #{@game.id}, challenge_id is #{challenge.id}")

@ -1233,7 +1233,7 @@ class HomeworkCommonsController < ApplicationController
# 代码查重届结果 # 代码查重届结果
def code_review_results def code_review_results
# 如果有未获取结果的查重操作 则先读取结果 # 如果有未获取结果的查重操作 则先读取结果
#get_new_code_reviews_result @homework get_new_code_reviews_result @homework
@current_user = current_user @current_user = current_user
# 列表数据 # 列表数据

@ -156,14 +156,18 @@ class PollQuestionsController < ApplicationController
begin begin
answer_d_id = params[:answer_no].to_i # 答案的当前位置 answer_d_id = params[:answer_no].to_i # 答案的当前位置
poll_answers = @poll_question.poll_answers poll_answers = @poll_question.poll_answers
delete_answer = poll_answers.find_answer_by_custom("answer_position",answer_d_id).first delete_answer = poll_answers.find_by(answer_position: answer_d_id)
left_answer = poll_answers.left_answer_choose("answer_position",answer_d_id) left_answers = poll_answers.where("answer_position > ?",answer_d_id)
if left_answer.present? left_answers.update_all("answer_position = answer_position - 1") if left_answers
left_answer.each do |p|
p.answer_position -= 1 # delete_answer = poll_answers.find_answer_by_custom("answer_position",answer_d_id).first
p.save # left_answer = poll_answers.left_answer_choose("answer_position",answer_d_id)
end # if left_answer.present?
end # left_answer.each do |p|
# p.answer_position -= 1
# p.save
# end
# end
if delete_answer.destroy if delete_answer.destroy
normal_status(0, "答案删除成功!") normal_status(0, "答案删除成功!")
else else

@ -1,2 +1 @@
json.status @status json.partial! 'games/testset_list'
json.message @message
Loading…
Cancel
Save