Merge branch 'develop' into standalone_develop

This commit is contained in:
yystopf 2022-09-23 10:28:19 +08:00
commit d9eb335b2a
3 changed files with 15 additions and 5 deletions

View File

@ -133,6 +133,8 @@ class Cache::V2::ProjectCommonService < ApplicationService
end
if @watchers.present?
$redis_cache.hincrby(project_common_key, watchers_key, @watchers)
Cache::V2::ProjectRankService.call(@project_id, {watchers: @watchers})
Cache::V2::ProjectDateRankService.call(@project_id, Date.today, {watchers: @watchers})
end
if @praises.present?
$redis_cache.hincrby(project_common_key, praises_key, @praises)

View File

@ -7,6 +7,7 @@ class Cache::V2::ProjectDateRankService < ApplicationService
@project_id = project_id
@rank_date = rank_date
@visits = params[:visits]
@watchers = params[:watchers]
@praises = params[:praises]
@forks = params[:forks]
@issues = params[:issues]
@ -35,6 +36,9 @@ class Cache::V2::ProjectDateRankService < 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
@ -42,13 +46,13 @@ class Cache::V2::ProjectDateRankService < 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
$redis_cache.zscore(project_rank_key, @project_id)

View File

@ -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