|
@@ -16,9 +16,10 @@ class UrsUpdateActiveStatusCommand extends Command
|
|
|
/**
|
|
/**
|
|
|
* 命令签名
|
|
* 命令签名
|
|
|
*/
|
|
*/
|
|
|
- protected $signature = 'urs:update-active-status
|
|
|
|
|
|
|
+ protected $signature = 'urs:update-active-status
|
|
|
{--limit=1000 : 每次处理的用户数量限制}
|
|
{--limit=1000 : 每次处理的用户数量限制}
|
|
|
{--reset : 重置所有用户活跃状态}
|
|
{--reset : 重置所有用户活跃状态}
|
|
|
|
|
+ {--force : 强制检查所有用户,忽略last_activity_check时间限制}
|
|
|
{--dry-run : 仅显示统计信息,不执行更新}';
|
|
{--dry-run : 仅显示统计信息,不执行更新}';
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -67,14 +68,24 @@ class UrsUpdateActiveStatusCommand extends Command
|
|
|
protected function handleUpdate(): int
|
|
protected function handleUpdate(): int
|
|
|
{
|
|
{
|
|
|
$limit = (int) $this->option('limit');
|
|
$limit = (int) $this->option('limit');
|
|
|
- $this->info("开始批量更新用户活跃状态(限制:{$limit})...");
|
|
|
|
|
|
|
+ $force = $this->option('force');
|
|
|
|
|
+
|
|
|
|
|
+ if ($force) {
|
|
|
|
|
+ $this->info("开始强制更新所有用户活跃状态(限制:{$limit})...");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $this->info("开始批量更新用户活跃状态(限制:{$limit})...");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 显示更新前的统计信息
|
|
// 显示更新前的统计信息
|
|
|
$beforeStats = UrsActiveUserService::getDetailedActiveStats();
|
|
$beforeStats = UrsActiveUserService::getDetailedActiveStats();
|
|
|
$this->displayStats('更新前统计', $beforeStats);
|
|
$this->displayStats('更新前统计', $beforeStats);
|
|
|
|
|
|
|
|
// 执行批量更新
|
|
// 执行批量更新
|
|
|
- $updateStats = UrsActiveUserService::batchUpdateActiveStatus($limit);
|
|
|
|
|
|
|
+ if ($force) {
|
|
|
|
|
+ $updateStats = UrsActiveUserService::forceUpdateActiveStatus($limit);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $updateStats = UrsActiveUserService::batchUpdateActiveStatus($limit);
|
|
|
|
|
+ }
|
|
|
$this->displayUpdateStats($updateStats);
|
|
$this->displayUpdateStats($updateStats);
|
|
|
|
|
|
|
|
// 显示更新后的统计信息
|
|
// 显示更新后的统计信息
|
|
@@ -83,6 +94,7 @@ class UrsUpdateActiveStatusCommand extends Command
|
|
|
|
|
|
|
|
// 记录执行日志
|
|
// 记录执行日志
|
|
|
Log::info('URS用户活跃状态更新任务完成', [
|
|
Log::info('URS用户活跃状态更新任务完成', [
|
|
|
|
|
+ 'force_mode' => $force,
|
|
|
'before_stats' => $beforeStats,
|
|
'before_stats' => $beforeStats,
|
|
|
'update_stats' => $updateStats,
|
|
'update_stats' => $updateStats,
|
|
|
'after_stats' => $afterStats
|
|
'after_stats' => $afterStats
|
|
@@ -210,11 +222,13 @@ URS用户活跃状态更新命令
|
|
|
选项:
|
|
选项:
|
|
|
--limit=1000 每次处理的用户数量限制(默认1000)
|
|
--limit=1000 每次处理的用户数量限制(默认1000)
|
|
|
--reset 重置所有用户活跃状态
|
|
--reset 重置所有用户活跃状态
|
|
|
|
|
+ --force 强制检查所有用户,忽略last_activity_check时间限制
|
|
|
--dry-run 仅显示统计信息,不执行更新
|
|
--dry-run 仅显示统计信息,不执行更新
|
|
|
|
|
|
|
|
示例:
|
|
示例:
|
|
|
php artisan urs:update-active-status # 正常更新
|
|
php artisan urs:update-active-status # 正常更新
|
|
|
php artisan urs:update-active-status --limit=500 # 限制处理500个用户
|
|
php artisan urs:update-active-status --limit=500 # 限制处理500个用户
|
|
|
|
|
+ php artisan urs:update-active-status --force # 强制更新所有用户
|
|
|
php artisan urs:update-active-status --dry-run # 试运行模式
|
|
php artisan urs:update-active-status --dry-run # 试运行模式
|
|
|
php artisan urs:update-active-status --reset # 重置所有状态
|
|
php artisan urs:update-active-status --reset # 重置所有状态
|
|
|
|
|
|