setName('UserStatisticsHour')->setDescription('用户登录数据统计'); } protected function execute(Input $input, Output $output) { //# 统计表 user_statistics // ELECT `id`, `login_count`, `register_count`, `created_at`, `updated_at`, `record_date` FROM `user_statistics` //# 用户登录记录表 user_account,last_login_time 最后登录时间(时间戳int(11) )。user_id 用户id //SELECT `id`, `user_id`, `account_token`, `token_num`, `token_time`, `last_login_time`, `last_login_ip`, `last_login_ip1`, `ip_adcode`, `ip_province`, `ip_city` FROM `user_account` // 获取当天日期 $today = date('Y-m-d'); // 查询当天的登录人数 $loginCount = UserAccount::where('last_login_time', '>=', strtotime($today)) ->where('last_login_time', '<', strtotime($today . ' +1 day')) ->count('DISTINCT user_id'); // 检查当天的统计记录是否存在 $existingRecord = UserStatistics::where('record_date', $today) ->find(); if ($existingRecord) { // 更新记录 UserStatistics::where('record_date', $today) ->update(['login_count' => $loginCount, 'updated_at' => date('Y-m-d H:i:s')]); } else { // 插入新记录 UserStatistics::insert([ 'login_count' => $loginCount, 'register_count' => 0, // 假设注册人数统计在其他地方处理 'record_date' => $today, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ]); } } }