|
|
|
@ -83,7 +83,7 @@ class Admins::UserStatisticQuery < ApplicationQuery
|
|
|
|
|
users.joins("LEFT JOIN myshixuns ON myshixuns.user_id = users.id AND myshixuns.status = 1 AND "\
|
|
|
|
|
"myshixuns.updated_at BETWEEN '#{time_range.min}' AND '#{time_range.max}'")
|
|
|
|
|
else
|
|
|
|
|
users.left_joins(:myshixuns).where(myshixuns: { status: 1 })
|
|
|
|
|
users.joins('LEFT JOIN myshixuns ON myshixuns.user_id = users.id AND myshixuns.status = 1')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
users.select("#{base_query_column}, COUNT(*) finish_shixun_count")
|
|
|
|
@ -94,7 +94,8 @@ class Admins::UserStatisticQuery < ApplicationQuery
|
|
|
|
|
.joins("LEFT JOIN games ON games.myshixun_id = myshixuns.id "\
|
|
|
|
|
"AND games.status IN (0,1,2) AND games.updated_at BETWEEN '#{time_range.min}' AND '#{time_range.max}'")
|
|
|
|
|
else
|
|
|
|
|
users.left_joins(myshixuns: :games).where(games: { status: [0, 1, 2] })
|
|
|
|
|
users.joins('LEFT JOIN myshixuns ON myshixuns.user_id = users.id')
|
|
|
|
|
.joins("LEFT JOIN games ON games.myshixun_id = myshixuns.id AND games.status IN (0,1,2)")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
users.select("#{base_query_column}, COUNT(*) study_challenge_count")
|
|
|
|
@ -105,7 +106,8 @@ class Admins::UserStatisticQuery < ApplicationQuery
|
|
|
|
|
.joins("LEFT JOIN games ON games.myshixun_id = myshixuns.id "\
|
|
|
|
|
"AND games.status = 2 AND games.updated_at BETWEEN '#{time_range.min}' AND '#{time_range.max}'")
|
|
|
|
|
else
|
|
|
|
|
users.left_joins(myshixuns: :games).where(games: { status: 2 })
|
|
|
|
|
users.joins('LEFT JOIN myshixuns ON myshixuns.user_id = users.id')
|
|
|
|
|
.joins("LEFT JOIN games ON games.myshixun_id = myshixuns.id AND games.status = 2")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
users.select("#{base_query_column}, COUNT(*) finish_challenge_count")
|
|
|
|
|