diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb index 78f665b3d..1457cafcc 100644 --- a/app/controllers/games_controller.rb +++ b/app/controllers/games_controller.rb @@ -290,6 +290,7 @@ class GamesController < ApplicationController answer_deduction = challenge.challenge_answers.where("level <= #{@answer.level}").sum(:score) @game.update_attributes!(:answer_open => answer_open, :answer_deduction => answer_deduction) end + GameAnswer.create!(challenge_answer_id: @answer.id, user_id: current_user.id, game_id: @game.id, view_time: Time.now) rescue Exception => e uid_logger_error("#######金币扣除异常: #{e.message}") @@ -317,6 +318,7 @@ class GamesController < ApplicationController @game.update_attributes!(:answer_open => 1, :answer_deduction => 100) end @challenge_chooses = @challenge.challenge_chooses + GameAnswer.create!(user_id: current_user.id, game_id: @game.id, view_time: Time.now) rescue Exception => e uid_logger_error("#######金币扣除异常: #{e.message}") raise ActiveRecord::Rollback diff --git a/app/helpers/myshixuns_helper.rb b/app/helpers/myshixuns_helper.rb index 2a487e361..e643555e1 100644 --- a/app/helpers/myshixuns_helper.rb +++ b/app/helpers/myshixuns_helper.rb @@ -11,4 +11,8 @@ module MyshixunsHelper nil end end + + def view_answer_time game, user_id + game.game_answers.where(user_id: user_id).last&.view_time + end end diff --git a/app/models/challenge_answer.rb b/app/models/challenge_answer.rb index 93b11be66..0ce757d71 100644 --- a/app/models/challenge_answer.rb +++ b/app/models/challenge_answer.rb @@ -1,4 +1,9 @@ class ChallengeAnswer < ApplicationRecord default_scope { order("challenge_answers.level asc") } belongs_to :challenge + has_many :game_answers, :dependent => :destroy + + def view_answer_time(user_id) + game_answers.where(user_id: user_id).last&.view_time + end end diff --git a/app/models/game.rb b/app/models/game.rb index d7c68dd5f..7aa2e7264 100644 --- a/app/models/game.rb +++ b/app/models/game.rb @@ -15,7 +15,7 @@ class Game < ApplicationRecord belongs_to :user belongs_to :challenge has_one :run_code_message, :dependent => :destroy - + has_many :game_answers, :dependent => :destroy #全部关卡数 scope :ch_games, lambda { |challenge_id| where(challenge_id:challenge_id) } diff --git a/app/models/game_answer.rb b/app/models/game_answer.rb new file mode 100644 index 000000000..c355b0a6c --- /dev/null +++ b/app/models/game_answer.rb @@ -0,0 +1,5 @@ +class GameAnswer < ApplicationRecord + belongs_to :user + belongs_to :game + belongs_to :challenge_answer +end diff --git a/app/templates/shixun_work/shixun_work.html.erb b/app/templates/shixun_work/shixun_work.html.erb index a6ef48c3e..c4ea11f1e 100644 --- a/app/templates/shixun_work/shixun_work.html.erb +++ b/app/templates/shixun_work/shixun_work.html.erb @@ -249,6 +249,7 @@ autoRefresh: true, smartIndent: true,//智能换行 styleActiveLine: true, + lineWrapping: true, lint: true, readOnly: "nocursor" }); diff --git a/app/views/admins/competition_prize_users/shared/_tr.html.erb b/app/views/admins/competition_prize_users/shared/_tr.html.erb index 18912c36a..66d0b64ad 100644 --- a/app/views/admins/competition_prize_users/shared/_tr.html.erb +++ b/app/views/admins/competition_prize_users/shared/_tr.html.erb @@ -16,7 +16,7 @@