diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb
index adae03fa9..c56ae152a 100644
--- a/app/controllers/games_controller.rb
+++ b/app/controllers/games_controller.rb
@@ -295,7 +295,11 @@ class GamesController < ApplicationController
had_done = @game.had_done
shixun = @myshixun.shixun
if shixun.status > 1 && !@game.answer_open
- User.current.update_attributes(:grade => (User.current.grade + @game.challenge.score), :experience => (User.current.experience + @game.challenge.score)) if correct
+ if correct
+ #User.current.update_attributes(:grade => (User.current.grade + @game.challenge.score), :experience => (User.current.experience + @game.challenge.score))
+ reward_grade(@game.user, @game.id, @game.class, game_challenge.score)
+ reward_experience(@game.user, @game.id, @game.class, game_challenge.score)
+ end
end
if @game.outputs.blank?
Output.create(:game_id => @game.id, :actual_output => user_answer, :result => correct)
diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb
index 012f3be73..0e06132da 100644
--- a/app/controllers/users_controller.rb
+++ b/app/controllers/users_controller.rb
@@ -2277,7 +2277,6 @@ class UsersController < ApplicationController
end
end
-
def user_show_course_list
@courses = @user.courses.not_deleted_not_end.order("updated_at desc")
@courses_count = @courses.count
diff --git a/app/models/user.rb b/app/models/user.rb
index 050c72842..f9607c038 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -130,6 +130,7 @@ class User < Principal
has_many :shixuns, :through => :shixun_members
has_many :shixun_members, :dependent => :destroy
has_many :challenges, :dependent => :destroy
+ has_many :games, :dependent => :destroy
has_many :subjects
@@ -310,6 +311,13 @@ class User < Principal
end
end
}
+ def challenge_tags
+ shixuns = Shixun.where(:id => Myshixun.where(:user_id => self.id).map(&:shixun_id), :status => [2,3])
+ myshixuns = Myshixun.where(:user_id => self.id, :shixun_id => shixuns.map(&:id))
+ games = self.games.where(:myshixun_id => myshixuns.map(&:id), :status => 2)
+ challenge_tags = ChallengeTag.where(:challenge_id => games.map(&:challenge_id))
+ end
+
def self.search(query)
__elasticsearch__.search(
{
diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb
index a4c37e78e..f7560382c 100644
--- a/app/views/users/show.html.erb
+++ b/app/views/users/show.html.erb
@@ -114,7 +114,8 @@
<% if new_message_count > 0 %>
新留言<%= new_message_count %>
<% end %>
-
+ <%= %>
+ 技能标签<%= @user.challenge_tags.count %>
经验值<%= @user.experience %>
金币<%= @user.grade %>