|
|
|
@@ -5,6 +5,7 @@ class Cache::V2::ProjectRankService < ApplicationService |
|
|
|
def initialize(project_id, params={}) |
|
|
|
@project_id = project_id |
|
|
|
@visits = params[:visits] |
|
|
|
@watchers = params[:watchers] |
|
|
|
@praises = params[:praises] |
|
|
|
@forks = params[:forks] |
|
|
|
@issues = params[:issues] |
|
|
|
@@ -51,6 +52,9 @@ class Cache::V2::ProjectRankService < ApplicationService |
|
|
|
if @visits.present? |
|
|
|
$redis_cache.zincrby(project_rank_key, @visits.to_i * 1, @project_id) |
|
|
|
end |
|
|
|
if @watchers.present? |
|
|
|
$redis_cache.zincrby(project_rank_key, @watchers.to_i * 5, @project_id) |
|
|
|
end |
|
|
|
if @praises.present? |
|
|
|
$redis_cache.zincrby(project_rank_key, @praises.to_i * 5, @project_id) |
|
|
|
end |
|
|
|
@@ -58,13 +62,13 @@ class Cache::V2::ProjectRankService < ApplicationService |
|
|
|
$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) |
|
|
|
$redis_cache.zincrby(project_rank_key, @issues.to_i * 5, @project_id) |
|
|
|
end |
|
|
|
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) |
|
|
|
$redis_cache.zincrby(project_rank_key, @commits.to_i * 5, @project_id) |
|
|
|
end |
|
|
|
reset_user_project_rank |
|
|
|
end |
|
|
|
@@ -74,7 +78,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 * 10 + @project_common["issues"].to_i * 10 + @project_common["pullrequests"].to_i * 10 + @project_common["commits"].to_i * 1 |
|
|
|
score = @project_common["visits"].to_i * 1 + @project_common["watchers"].to_i * 5 + @project_common["praises"].to_i * 5 + @project_common["forks"].to_i * 10 + @project_common["issues"].to_i * 5 + @project_common["pullrequests"].to_i * 10 + @project_common["commits"].to_i * 5 |
|
|
|
$redis_cache.zadd(project_rank_key, score, @project_id) |
|
|
|
reset_user_project_rank |
|
|
|
|
|
|
|
|