From 512d4bfd9ee5c531037a6676154cc94cc3a16d9f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Dec 2019 14:17:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=80=9A=E8=BF=87=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=9B=86=E7=9A=84=E4=B8=AA=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/hack_user_lastest_codes_controller.rb | 3 ++- ...1227061507_add_error_test_set_id_for_hack_user_lastest.rb | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 db/migrate/20191227061507_add_error_test_set_id_for_hack_user_lastest.rb diff --git a/app/controllers/hack_user_lastest_codes_controller.rb b/app/controllers/hack_user_lastest_codes_controller.rb index d5405fd71..caee23936 100644 --- a/app/controllers/hack_user_lastest_codes_controller.rb +++ b/app/controllers/hack_user_lastest_codes_controller.rb @@ -96,7 +96,8 @@ class HackUserLastestCodesController < ApplicationController if ojEvaResult['execMode'] == "debug" save_debug_data ds_params elsif ojEvaResult['execMode'] == "submit" - save_submit_data ds_params.merge(expected_output: testCase['expectedOutput']) + save_submit_data ds_params.merge(expected_output: testCase['expectedOutput'], + error_test_set_id: ojEvaResult['failCaseNum']) end # 评测完成后,还原评测中的状态 @my_hack.update_attribute(:submit_status, 0) diff --git a/db/migrate/20191227061507_add_error_test_set_id_for_hack_user_lastest.rb b/db/migrate/20191227061507_add_error_test_set_id_for_hack_user_lastest.rb new file mode 100644 index 000000000..946d4bf59 --- /dev/null +++ b/db/migrate/20191227061507_add_error_test_set_id_for_hack_user_lastest.rb @@ -0,0 +1,5 @@ +class AddErrorTestSetIdForHackUserLastest < ActiveRecord::Migration[5.2] + def change + add_column :hack_user_codes, :error_test_set_id, :integer + end +end From e83b169f377112261ee8422e6d6ab564a5be8e5f Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Dec 2019 14:44:13 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=B8=AA=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/hack_user_lastest_codes_controller.rb | 3 +++ app/views/hack_user_lastest_codes/record_detail.json.jbuilder | 3 +++ 2 files changed, 6 insertions(+) diff --git a/app/controllers/hack_user_lastest_codes_controller.rb b/app/controllers/hack_user_lastest_codes_controller.rb index caee23936..2ece96ad5 100644 --- a/app/controllers/hack_user_lastest_codes_controller.rb +++ b/app/controllers/hack_user_lastest_codes_controller.rb @@ -70,6 +70,9 @@ class HackUserLastestCodesController < ApplicationController # 提交记录详情 def record_detail @hack_user = HackUserCode.find params[:id] + set = HackSet.find_by(error_test_set_id: @hack_user.error_test_set_id) + @pass_set_count = set ? set.position - 1 : 0 + @set_count = @hack_user.hack.hack_sets.count @my_hack = @hack_user.hack_user_lastest_code end diff --git a/app/views/hack_user_lastest_codes/record_detail.json.jbuilder b/app/views/hack_user_lastest_codes/record_detail.json.jbuilder index 66eedf85e..18eb012a1 100644 --- a/app/views/hack_user_lastest_codes/record_detail.json.jbuilder +++ b/app/views/hack_user_lastest_codes/record_detail.json.jbuilder @@ -6,6 +6,9 @@ json.data do json.language @hack_user.hack.language json.name @hack_user.hack.name json.myproblem_identifier @my_hack.identifier + json.pass_sets_count @pass_set_count + json.set_count @set_count + json.user do json.partial! 'users/user', user: current_user end From c24072b9313fe0df8a032e183eaf7aa60351c01d Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Dec 2019 14:47:34 +0800 Subject: [PATCH 3/3] 1 --- app/controllers/hack_user_lastest_codes_controller.rb | 2 +- app/models/hack_user_code.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/hack_user_lastest_codes_controller.rb b/app/controllers/hack_user_lastest_codes_controller.rb index 2ece96ad5..976317107 100644 --- a/app/controllers/hack_user_lastest_codes_controller.rb +++ b/app/controllers/hack_user_lastest_codes_controller.rb @@ -70,7 +70,7 @@ class HackUserLastestCodesController < ApplicationController # 提交记录详情 def record_detail @hack_user = HackUserCode.find params[:id] - set = HackSet.find_by(error_test_set_id: @hack_user.error_test_set_id) + set = HackSet.find_by(id: @hack_user.error_test_set_id) @pass_set_count = set ? set.position - 1 : 0 @set_count = @hack_user.hack.hack_sets.count @my_hack = @hack_user.hack_user_lastest_code diff --git a/app/models/hack_user_code.rb b/app/models/hack_user_code.rb index eee394e39..1e13f8bfb 100644 --- a/app/models/hack_user_code.rb +++ b/app/models/hack_user_code.rb @@ -1,4 +1,5 @@ class HackUserCode < ApplicationRecord + # error_test_set_id: 错误的测试集id # 用户编程题的信息 belongs_to :hack belongs_to :hack_user_lastest_code