@ -92,12 +92,12 @@ class GamesService
sql =
sql =
if max_query_index > 0
if max_query_index > 0
" SELECT
" SELECT
b . actual_output, b . out_put , b . result , b . compile_success , a . is_public , a . input , a . output
b . code, b . actual_output, b . out_put , b . result , b . compile_success , a . is_public , a . input , a . output
FROM
FROM
( SELECT position , input , output , challenge_id , is_public FROM test_sets where challenge_id = #{game_challenge.id}) a
( SELECT position , input , output , challenge_id , is_public FROM test_sets where challenge_id = #{game_challenge.id}) a
LEFT JOIN
LEFT JOIN
( SELECT
( SELECT
result , test_set_position , g . challenge_id , o . actual_output , o . out_put , o . compile_success
result , test_set_position , g . challenge_id , o . actual_output , o . out_put , o . compile_success , o . code
FROM
FROM
outputs o left join games g on g . id = o . game_id
outputs o left join games g on g . id = o . game_id
WHERE
WHERE
@ -153,9 +153,10 @@ class GamesService
actual_output = test_set . attributes . count > 4 ? test_set . try ( :actual_output ) : nil
actual_output = test_set . attributes . count > 4 ? test_set . try ( :actual_output ) : nil
result = test_set . attributes . count > 4 ? test_set . try ( :result ) : nil
result = test_set . attributes . count > 4 ? test_set . try ( :result ) : nil
compile_success = test_set . attributes . count > 4 ? test_set . try ( :compile_success ) : nil
compile_success = test_set . attributes . count > 4 ? test_set . try ( :compile_success ) : nil
status = test_set . attributes . count > 4 ? test_set . try ( :code ) : nil
#actual_output = Base64.encode64(actual_output)
#actual_output = Base64.encode64(actual_output)
actual_output = ( compile_success . to_s == " 0 " ? " 编译失败,请在测试结果中查看具体的错误信息 " : actual_output )
actual_output = ( compile_success . to_s == " 0 " && status . to_s == " -1 " ? " 编译失败,请在测试结果中查看具体的错误信息 " : actual_output )
public_result = { :is_public = > ( test_set . is_public ? 1 : 0 ) , :result = > result ,
public_result = { :is_public = > ( test_set . is_public ? 1 : 0 ) , :result = > result ,
:actual_output = > actual_output , :compile_success = > compile_success }
:actual_output = > actual_output , :compile_success = > compile_success }
@ -837,7 +838,8 @@ class GamesService
max_query_index = game . query_index - 1
max_query_index = game . query_index - 1
# 区分评测过未评测过,未评测过按需求取数据
# 区分评测过未评测过,未评测过按需求取数据
if max_query_index > 0
if max_query_index > 0
qurey_test_sets = TestSet . find_by_sql ( " SELECT o.actual_output,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
qurey_test_sets = TestSet . find_by_sql ( " SELECT o.code, o.actual_output,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
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
else