/** * 按年取得统计结果 * @method getYearTendency * @return [type] [description] */ public function getYearTendency() { $dt = Carbon::now('Asia/ShangHai'); $length = $dt->month; DB::connection()->enableQueryLog(); for ($i = 1; $i <= $length; $i++) { $start = Carbon::now('Asia/ShangHai')->month($i)->startOfMonth()->toDateTimeString(); $end = Carbon::now('Asia/ShangHai')->month($i)->endOfMonth()->toDateTimeString(); $dataValue[] = RobotOrder::whereBetween('pay_time', [$start, $end])->count(); } return $dataValue; }
/** * 学生使用情况统计 * @method usageStatistics * @return [json] [description] */ public function usageStatistics() { /** * 今日的统计结果 */ $today_carbon_start = Carbon::now('Asia/ShangHai')->startOfDay(); $today_carbon_end = Carbon::now('Asia/ShangHai')->endOfDay(); $data['countStudents'] = StudentUser::count(); // 用户数 $data['todayCountAdd'] = StudentUser::whereBetween('regdate', [$today_carbon_start, $today_carbon_end])->count(); // 今日增加用户数 $data['todayCountUsed'] = StudentUser::whereBetween('lastlogin', [$today_carbon_start, $today_carbon_end])->count(); // 今日使用用户数 $data['todayCountOrder'] = RobotOrder::whereBetween('pay_time', [$today_carbon_start, $today_carbon_end])->count(); // 今日订单数 $today_request = new Request(['practice_time' => 30 * 60, 'date' => 'today']); $data['todayCountActive'] = self::activeUser($today_request); // 今日活跃用户数(机器人使用时长30分钟以上) $data['todayValue'] = Carbon::now('Asia/ShangHai')->hour; /** * 本月的统计结果 */ $month_carbon_start = Carbon::now('Asia/ShangHai')->startOfMonth(); $month_carbon_end = Carbon::now('Asia/ShangHai')->endOfMonth(); // $data['countStudents'] = StudentUser::count(); // 用户数 $data['monthCountAdd'] = StudentUser::whereBetween('regdate', [$month_carbon_start, $month_carbon_end])->count(); // 今日增加用户数 $data['monthCountUsed'] = StudentUser::whereBetween('lastlogin', [$month_carbon_start, $month_carbon_end])->count(); // 今日使用用户数 $data['monthCountOrder'] = RobotOrder::whereBetween('pay_time', [$month_carbon_start, $month_carbon_end])->count(); // 今日订单数 $month_request = new Request(['practice_time' => 30 * 60 * 60, 'date' => 'month']); $data['monthCountActive'] = self::activeUser($month_request); // 今日活跃用户数(机器人使用时长30小时以上) // $data['monthDayth'] = Carbon::now('Asia/ShangHai')->day; $data['monthValue'] = Carbon::now('Asia/ShangHai')->day; // 本月从开始到今天一共经过了多少天 // $data['monthArray'] = self::calEveryPeriodAddUsers('month', Carbon::now('Asia/ShangHai')->day); /** * 本季度的统计结果 */ $quarter_carbon_start = Carbon::now('Asia/ShangHai')->firstOfQuarter(); $quarter_carbon_end = Carbon::now('Asia/ShangHai')->lastOfQuarter(); // return $quarter_carbon_start . '/' . $quarter_carbon_end; // $data['countStudents'] = StudentUser::count(); // 用户数 $data['quarterCountAdd'] = StudentUser::whereBetween('regdate', [$quarter_carbon_start, $quarter_carbon_end])->count(); // 今日增加用户数 $data['quarterCountUsed'] = StudentUser::whereBetween('lastlogin', [$quarter_carbon_start, $quarter_carbon_end])->count(); // 今日使用用户数 $data['quarterCountOrder'] = RobotOrder::whereBetween('pay_time', [$quarter_carbon_start, $quarter_carbon_end])->count(); // 今日订单数 $quarter_request = new Request(['practice_time' => 30 * 60 * 60, 'date' => 'quarter']); $data['quarterCountActive'] = self::activeUser($quarter_request); // 今日活跃用户数(机器人使用时长30小时以上) // $data['QuarterMonth'] = Carbon::now('Asia/ShangHai')->nthOfQuarter(); $firstOfQuarter_month = Carbon::now('Asia/ShangHai')->firstOfQuarter()->month; $now_month = Carbon::now('Asia/ShangHai')->month; $data['quarterValue'] = $now_month - $firstOfQuarter_month + 1; /** * 本年的统计结果 */ $year_carbon_start = Carbon::now('Asia/ShangHai')->firstOfYear(); $year_carbon_end = Carbon::now('Asia/ShangHai'); // return $year_carbon_start . '/' . $year_carbon_end; // $data['countStudents'] = StudentUser::count(); // 用户数 $data['yearCountAdd'] = StudentUser::whereBetween('regdate', [$year_carbon_start, $year_carbon_end])->count(); // 今日增加用户数 $data['yearCountUsed'] = StudentUser::whereBetween('lastlogin', [$year_carbon_start, $year_carbon_end])->count(); // 今日使用用户数 $data['yearCountOrder'] = RobotOrder::whereBetween('pay_time', [$year_carbon_start, $year_carbon_end])->count(); // 今日订单数 $year_request = new Request(['practice_time' => 30 * 60 * 60, 'date' => 'year']); $data['yearCountActive'] = self::activeUser($year_request); // 今日活跃用户数(机器人使用时长30小时以上) $data['yearValue'] = Carbon::now('Asia/ShangHai')->month; return view('usageStatistics')->with('data', $data); }