81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * 后台管理系统-用户管理
 | 
						|
 */
 | 
						|
namespace app\admin\controller;
 | 
						|
use app\admin\controller\BaseController;
 | 
						|
use think\facade\View;
 | 
						|
use think\facade\Request;
 | 
						|
use think\facade\Db;
 | 
						|
use app\admin\controller\Log;
 | 
						|
use think\App;
 | 
						|
use app\admin\model\User\Users;
 | 
						|
 | 
						|
 | 
						|
class UsersController extends BaseController
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * 统计用户数量
 | 
						|
     */
 | 
						|
    public function counts()
 | 
						|
    {
 | 
						|
        try {
 | 
						|
            // 统计用户总数
 | 
						|
            $total = Users::where('delete_time', 0)
 | 
						|
                ->where('status', 1)
 | 
						|
                ->count();
 | 
						|
                
 | 
						|
            // 获取今日新增用户数
 | 
						|
            $today = strtotime(date('Y-m-d'));
 | 
						|
            $todayNew = Users::where('delete_time', 0)
 | 
						|
                ->where('status', 1)
 | 
						|
                ->where('create_time', '>=', $today)
 | 
						|
                ->count();
 | 
						|
                
 | 
						|
            // 获取最近7天的用户数据
 | 
						|
            $dates = [];
 | 
						|
            $counts = [];
 | 
						|
            $totalCounts = []; // 存储每天的总用户数
 | 
						|
            
 | 
						|
            for ($i = 6; $i >= 0; $i--) {
 | 
						|
                $date = date('Y-m-d', strtotime("-$i days"));
 | 
						|
                $start = strtotime($date);
 | 
						|
                $end = $start + 86400;
 | 
						|
                
 | 
						|
                // 获取当天新增用户数
 | 
						|
                $count = Users::where('delete_time', 0)
 | 
						|
                    ->where('status', 1)
 | 
						|
                    ->where('create_time', '>=', $start)
 | 
						|
                    ->where('create_time', '<', $end)
 | 
						|
                    ->count();
 | 
						|
                    
 | 
						|
                // 获取截至当天的总用户数
 | 
						|
                $totalCount = Users::where('delete_time', 0)
 | 
						|
                    ->where('status', 1)
 | 
						|
                    ->where('create_time', '<', $end)
 | 
						|
                    ->count();
 | 
						|
                    
 | 
						|
                $dates[] = $date;
 | 
						|
                $counts[] = $count;
 | 
						|
                $totalCounts[] = $totalCount;
 | 
						|
            }
 | 
						|
            
 | 
						|
            return json([
 | 
						|
                'code' => 0,
 | 
						|
                'msg' => '获取成功',
 | 
						|
                'data' => [
 | 
						|
                    'total' => $total,
 | 
						|
                    'todayNew' => $todayNew,
 | 
						|
                    'dates' => $dates,
 | 
						|
                    'counts' => $counts,
 | 
						|
                    'totalCounts' => $totalCounts
 | 
						|
                ]
 | 
						|
            ]);
 | 
						|
        } catch (\Exception $e) {
 | 
						|
            return json([
 | 
						|
                'code' => 1,
 | 
						|
                'msg' => '获取失败:' . $e->getMessage()
 | 
						|
            ]);
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |