新增:项目排行榜新增提交数算法

This commit is contained in:
2022-09-15 09:44:12 +08:00
parent 383660c778
commit 733f64eaec
4 changed files with 41 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
class Cache::V2::ProjectRankService < ApplicationService
attr_reader :project_id, :visits, :praises, :forks, :issues, :pullrequests
attr_reader :project_id, :visits, :praises, :forks, :issues, :pullrequests, :commits
attr_accessor :project_common
def initialize(project_id, params={})
@@ -9,6 +9,7 @@ class Cache::V2::ProjectRankService < ApplicationService
@forks = params[:forks]
@issues = params[:issues]
@pullrequests = params[:pullrequests]
@commits = params[:commits]
end
def read
@@ -54,7 +55,7 @@ class Cache::V2::ProjectRankService < ApplicationService
$redis_cache.zincrby(project_rank_key, @praises.to_i * 5, @project_id)
end
if @forks.present?
$redis_cache.zincrby(project_rank_key, @forks.to_i * 5, @project_id)
$redis_cache.zincrby(project_rank_key, @forks.to_i * 10, @project_id)
end
if @issues.present?
$redis_cache.zincrby(project_rank_key, @issues.to_i * 10, @project_id)
@@ -62,6 +63,9 @@ class Cache::V2::ProjectRankService < ApplicationService
if @pullrequests.present?
$redis_cache.zincrby(project_rank_key, @pullrequests.to_i * 10, @project_id)
end
if @commits.present?
$redis_cache.zincrby(project_rank_key, @commits.to_i * 1, @project_id)
end
reset_user_project_rank
end
@@ -70,7 +74,7 @@ class Cache::V2::ProjectRankService < ApplicationService
def reset_project_rank
load_project_common
score = @project_common["visits"].to_i * 1 + @project_common["praises"].to_i * 5 + @project_common["forks"].to_i * 5 + @project_common["issues"].to_i * 10 + @project_common["pullrequests"].to_i * 10
score = @project_common["visits"].to_i * 1 + @project_common["praises"].to_i * 5 + @project_common["forks"].to_i * 10 + @project_common["issues"].to_i * 10 + @project_common["pullrequests"].to_i * 10 + @project_common["commits"].to_i * 1
$redis_cache.zadd(project_rank_key, score, @project_id)
reset_user_project_rank