Merge branch 'educoder' of https://bdgit.educoder.net/Hjqreturn/pgfqe6ch8 into develop
commit
71b3b1ce4a
@ -0,0 +1,40 @@
|
|||||||
|
class AddPassedScoreForUsers < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
games = Game.where("final_score = 0 and status = 2 and answer_open = 0 and created_at > '2019-03-09 00:00:00'").includes(:challenge)
|
||||||
|
puts "game_count: #{games.count}"
|
||||||
|
games.find_each do |game|
|
||||||
|
puts "#{game.id}"
|
||||||
|
challenge = game.challenge
|
||||||
|
# 选择题和实践题的分数
|
||||||
|
score = challenge.choose_score
|
||||||
|
user = game.user
|
||||||
|
game.update_column(:final_score, score)
|
||||||
|
# 奖励金币和提供记录
|
||||||
|
grade = Grade.where(:user_id => user.id, :container_id => game.id, :container_type => "Game").first
|
||||||
|
if grade.nil?
|
||||||
|
Grade.create!(:user_id => user.id,
|
||||||
|
:container_id => game.id,
|
||||||
|
:container_type => "Game",
|
||||||
|
:score => score,
|
||||||
|
:created_at => game.end_time || Time.now,
|
||||||
|
:updated_at => game.end_time || Time.now)
|
||||||
|
user.update_column(:grade, (score + user.grade.to_i))
|
||||||
|
end
|
||||||
|
# 经验奖励
|
||||||
|
experience = Experience.where(:user_id => user.id, :container_id => game.id, :container_type => "Game").first
|
||||||
|
if experience.nil?
|
||||||
|
Experience.create!(:user_id => user.id,
|
||||||
|
:container_id => game.id,
|
||||||
|
:container_type => "Game",
|
||||||
|
:score => score,
|
||||||
|
:created_at => game.end_time || Time.now,
|
||||||
|
:updated_at => game.end_time || Time.now)
|
||||||
|
user.update_column(:experience, (score + user.experience.to_i))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue