forked from Gitlink/forgeplus
24 lines
643 B
Ruby
24 lines
643 B
Ruby
class Statistic::PlatformUserQuery < ApplicationQuery
|
|
attr_reader :params
|
|
|
|
def initialize(params)
|
|
@params = params
|
|
end
|
|
|
|
def call
|
|
user_total_count = User.count
|
|
user_active_count = User.where("last_login_on > ? and last_login_on < ?", start_time, end_time).count
|
|
user_fresh_count = User.where("created_on > ? and created_on < ?", start_time, end_time).count
|
|
|
|
[user_total_count, user_active_count, user_fresh_count]
|
|
end
|
|
|
|
private
|
|
def start_time
|
|
Time.at(params.fetch(:start_time, Time.now.beginning_of_day.to_i).to_i)
|
|
end
|
|
|
|
def end_time
|
|
Time.at(params.fetch(:end_time, Time.now.to_i).to_i)
|
|
end
|
|
end |