|
- class Admins::DashboardsController < Admins::BaseController
- def index
- @active_user_count = User.where(last_login_on: today).count
- @weekly_active_user_count = User.where(last_login_on: current_week).count
- @month_active_user_count = User.where(last_login_on: current_month).count
-
- @new_user_count = User.where(created_on: current_month).count
- end
-
- def month_active_user
- count = UserExtension.where(created_at: current_month).group(:identity).count
-
- data = [
- { value: count['teacher'].to_i, name: '老师' },
- { value: count['student'].to_i, name: '学生' },
- { value: count['professional'].to_i, name: '专业人士' },
- { value: count[nil].to_i, name: '未选职业' },
- ]
-
- render_ok(data: data)
- end
-
- def evaluate
- names = []
- data = []
-
- 1.upto(7) do |i|
- date = i.days.ago
- names.unshift(date.strftime('%Y-%m-%d'))
-
- count = Output.where(created_at: date.beginning_of_day..date.end_of_day).count
- data.unshift(count)
- end
-
- render_ok(names: names, data: data)
- end
-
- private
-
- def today
- Time.now.beginning_of_day..Time.now.end_of_day
- end
-
- def current_week
- 7.days.ago.beginning_of_day..Time.now.end_of_day
- end
-
- def current_month
- 30.days.ago.beginning_of_day..Time.now.end_of_day
- end
- end
|