option_number=OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}'");
ifoption_number.nil?
option_number=OptionNumber.new
option_number.user_id=user.id
option_number.score_type=type
defget_option_number(user,type,project_id=nil)
ifproject_id.nil?
option_number=OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}'");
else
option_number=OptionNumber.where("user_id = '#{user.id}' and score_type = '#{type}' and project_id = '#{project_id}'");
end
result=nil
ifoption_number.nil?||option_number.count==0
result=OptionNumber.new
result.user_id=user.id
result.memo=0
result.messages_for_issues=0
result.issues_status=0
result.replay_for_message=0
result.replay_for_memo=0
result.follow=0
result.tread=0
result.praise_by_one=0
result.praise_by_two=0
result.praise_by_three=0
result.tread_by_one=0
result.tread_by_two=0
result.tread_by_three=0
result.changeset=0
result.document=0
result.attachment=0
result.issue_done_ratio=0
result.post_issue=0
result.total_score=0
result.score_type=type
unlessproject_id.nil?
result.project_id=project_id
end
else
result=option_number.first
end
option_number
result
end
#更新分数
@ -374,7 +404,7 @@ module UserScoreHelper
#更新发帖数
defupdate_memo_number(user,type)
option_number=get_option_number(user,type)
option_number.memo=Message.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
option_number.memo=Message.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count+Memo.includes(:author).where("parent_id IS NULL and author_id = '#{user.id}'").all.count
update_score(option_number)
end
@ -401,7 +431,7 @@ module UserScoreHelper
#更新对帖子的回复数量
defupdate_replay_for_memo(user,type)
option_number=get_option_number(user,type)
option_number.replay_for_memo=Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").count
option_number.replay_for_memo=Message.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count+Memo.includes(:author).where("parent_id IS NOT NULL and author_id = #{user.id}").all.count
update_score(option_number)
end
@ -412,5 +442,97 @@ module UserScoreHelper
update_score(option_number)
end
#更新踩别人帖子的数量
#更新帖子踩各项数量
defupdate_tread(user,type)
option_number=get_option_number(user,type)
option_number.tread=PraiseTread.where("praise_tread_object_type = 'Memo' || praise_tread_object_type = 'Message' and praise_or_tread = 0 and user_id = '#{user.id}'").all.count