新增:活跃度计算访问量限制
This commit is contained in:
parent
70f1e6827f
commit
cc42683316
|
@ -47,8 +47,13 @@ class RepositoriesController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def entries
|
def entries
|
||||||
|
@week_project_visit_record, @month_project_visit_record = TimeableVisitRecord.build(@project.id)
|
||||||
|
if @week_project_visit_record.visits < 300 && @month_project_visit_record.visits < 1000
|
||||||
|
@week_project_visit_record.increment!(:visits)
|
||||||
|
@month_project_visit_record.increment!(:visits)
|
||||||
@project.increment!(:visits)
|
@project.increment!(:visits)
|
||||||
CacheAsyncSetJob.perform_later("project_common_service", {visits: 1}, @project.id)
|
CacheAsyncSetJob.perform_later("project_common_service", {visits: 1}, @project.id)
|
||||||
|
end
|
||||||
if @project.educoder?
|
if @project.educoder?
|
||||||
@entries = Educoder::Repository::Entries::ListService.call(@project&.project_educoder.repo_name)
|
@entries = Educoder::Repository::Entries::ListService.call(@project&.project_educoder.repo_name)
|
||||||
else
|
else
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
# == Schema Information
|
||||||
|
#
|
||||||
|
# Table name: timeable_visit_records
|
||||||
|
#
|
||||||
|
# id :integer not null, primary key
|
||||||
|
# time :string(255)
|
||||||
|
# project_id :integer
|
||||||
|
# visits :integer
|
||||||
|
# created_at :datetime not null
|
||||||
|
# updated_at :datetime not null
|
||||||
|
#
|
||||||
|
# Indexes
|
||||||
|
#
|
||||||
|
# index_timeable_visit_records_on_project_id (project_id)
|
||||||
|
# index_timeable_visit_records_on_time (time)
|
||||||
|
#
|
||||||
|
|
||||||
|
class TimeableVisitRecord < ApplicationRecord
|
||||||
|
|
||||||
|
belongs_to :project
|
||||||
|
|
||||||
|
def self.build(project_id)
|
||||||
|
week = TimeableVisitRecord.find_or_create_by!(time: Date.today.cweek, project_id: project_id)
|
||||||
|
month = TimeableVisitRecord.find_or_create_by!(time: Date.today.strftime("%Y%m"), project_id: project_id)
|
||||||
|
|
||||||
|
return week, month
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,13 @@
|
||||||
|
class CreateTimeableVisitRecords < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
create_table :timeable_visit_records do |t|
|
||||||
|
t.string :time
|
||||||
|
t.references :project
|
||||||
|
t.integer :visits, default: 0
|
||||||
|
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index :timeable_visit_records, :time
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue