@ -18,6 +18,8 @@
class UserScore < ActiveRecord :: Base
belongs_to :user
before_save :correct_score
def self . find_max_file
self . maximum ( :file )
end
@ -50,23 +52,23 @@ class UserScore < ActiveRecord::Base
current_user , target_user = get_users ( current_user , target_user )
user_score = current_user . user_score_attr
case operate
when :post_message # current_user 发帖了
when :post_message # current_user 发帖了 Add Message
user_score . collaboration = user_score . collaboration . to_i + 2
user_score . save
Rails . logger . info " [UserScore # joint] ===> User: #{ current_user } posting a message. options => ( #{ options . to_s } ) "
when :post_issue # current_user 对 target_user 的缺陷留言了
when :post_issue # current_user 对 target_user 的缺陷留言了 Add Journal
user_score . collaboration = user_score . collaboration . to_i + 1
user_score . save
Rails . logger . info " [UserScore # joint] ===> User: #{ current_user } posting a issue. options => ( #{ options . to_s } ) "
when :change_issue_status # current_user 更改了缺陷的状态
when :change_issue_status # current_user 更改了缺陷的状态 Changed Issue
user_score . collaboration = user_score . collaboration . to_i + 1
user_score . save
Rails . logger . info " [UserScore # joint] ===> User: #{ current_user } change issue status. options => ( #{ options . to_s } ) "
when :reply_message # current_user 对 target_user 留言的回复
when :reply_message # current_user 对 target_user 留言的回复 Add Journals_for_messages
user_score . collaboration = user_score . collaboration . to_i + 1
user_score . save
Rails . logger . info " [UserScore # joint] ===> User: #{ current_user } reply message. options => ( #{ options . to_s } ) "
when :reply_posting # current_user 对 target_user 帖子的回复
when :reply_posting # current_user 对 target_user 帖子的回复 Add Message
user_score . collaboration = user_score . collaboration . to_i + 1
user_score . save
Rails . logger . info " [UserScore # joint] ===> User: #{ current_user } reply posting. options => ( #{ options . to_s } ) "
@ -90,12 +92,16 @@ class UserScore < ActiveRecord::Base
# Returns boolean. 返回积分保存结果
def self . influence ( operate , current_user , target_user , options = { } )
current_user , target_user = get_users ( current_user , target_user )
user_score = curren t_user. user_score_attr
user_score = targe t_user. user_score_attr
case operate
when :followed_by # current_user 关注了target_user
user_score . active = user_score . influence . to_i + 2
user_score . save
Rails . logger . info " [UserScore # influence] ===> User: #{ current_user } be followed. options => ( #{ options . to_s } ) "
when :cancel_followed # current_uer 取消了对 target_user的关注
user_score . active = user_score . influence . to_i - 2
user_score . save
Rails . logger . info " [UserScore # influence] ===> User: #{ current_user } canceled followed. options => ( #{ options . to_s } ) "
else
Rails . logger . error " [UserScore # influence] ===> #{ operate } is not define. "
return false
@ -183,4 +189,22 @@ class UserScore < ActiveRecord::Base
[ cUser , tUser ]
end
#修正分数
#分数小于0时修正为0
#分数大于等于0时不修正 -by zjc
def correct_score
if self . collaboration < 0
self . collaboration = 0
end
if self . active < 0
self . active = 0
end
if self . influence < 0
self . influence = 0
end
if self . skill < 0
self . skill = 0
end
end
end