新增:贡献者代码行score

This commit is contained in:
2023-04-17 15:32:10 +08:00
parent aaf3b381fb
commit 117f9bafb9
4 changed files with 39 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ json.total_count @result_object[:total_data].to_i
json.contributors @result_object[:data].each do |contributor|
user = $redis_cache.hgetall("v2-owner-common:#{contributor["name"]}-#{contributor["email"]}")
if user.blank?
json.score 300
json.contributions contributor["commits"]
json.additions contributor["additions"]
json.deletions contributor["deletions"]
@@ -12,6 +13,7 @@ json.contributors @result_object[:data].each do |contributor|
json.name contributor["name"]
json.image_url User::Avatar.get_letter_avatar_url(contributor["name"])
else
json.score User.develop_score(user["id"])
json.contributions contributor["commits"]
json.additions contributor["additions"]
json.deletions contributor["deletions"]

View File

@@ -7,6 +7,19 @@ json.score item[1]
json.name owner_common["name"]
json.type owner_common["type"]
json.login owner_common["login"]
if owner_common["tmp_projects"].nil?
normal_projects = Project.members_projects(item[0]).to_sql
org_projects = Project.joins(team_projects: [team: :team_users]).where(team_users: {user_id: item[0]}).to_sql
issue_project = Project.joins(:issues).where(issues: {author_id: item[0]}).to_sql
pull_project = Project.joins(:pull_requests).where(pull_requests: {user_id: item[0]}).to_sql
commit_project = Project.joins(:commit_logs).where(commit_logs: {user_id: item[0]}).to_sql
project_count = Project.from("( #{normal_projects} UNION #{org_projects} UNION #{issue_project} UNION #{pull_project} UNION #{issue_project} ) AS projects").distinct.size
$redis_cache.hset("v2-owner-common:#{item[0]}", 'tmp_projects', project_count)
json.projects_count project_count
else
json.projects_count owner_common["tmp_projects"]
end
json.avatar_url owner_common["avatar_url"]
if popular_project.blank?
json.project nil