option('channel')); if ($channel !== '') { ctype_digit($channel) ? $query->where('id', (int) $channel) : $query->where('channel_code', $channel); } $count = 0; try { $query->orderBy('id')->eachById(function (SignupChannel $signupChannel) use (&$count): void { if ($this->option('force')) { $signupChannel->encryption_public_key = null; $signupChannel->encryption_private_key = null; } $signupChannel->ensureEncryptionKeyPair(); if ($signupChannel->isDirty()) { $signupChannel->save(); $count++; } }); } catch (Throwable $exception) { $this->error('生成渠道加密密钥失败:'.$exception->getMessage()); return self::FAILURE; } $this->info("已生成或更新 {$count} 个渠道的加密密钥对。"); return self::SUCCESS; } }