setName('shopro_huifu:onboard-auto-submit') ->addOption('limit', 'l', Option::VALUE_OPTIONAL, '每轮最多处理条数', 30) ->addOption('dry-run', null, Option::VALUE_NONE, '只扫描不调用汇付') ->setDescription('Auto submit Huifu onboard: new drafts immediately, failed retry after cooldown'); } protected function execute(Input $input, Output $output) { $dryRun = (bool) $input->getOption('dry-run'); $limit = intval($input->getOption('limit')); $output->writeln('=== 汇付进件自动提交 ===' . ($dryRun ? ' [dry-run]' : '')); $stats = (new HuifuOnboardAutoSubmit())->run($limit, $dryRun); $output->writeln('扫描: ' . $stats['scanned']); $output->writeln('首次提交: ' . $stats['submit_now']); $output->writeln('失败重提: ' . $stats['retry']); $output->writeln('跳过: ' . $stats['skipped']); $output->writeln('执行失败: ' . $stats['failed']); foreach ($stats['details'] as $line) { $output->writeln(' · ' . $line); } return $stats['failed'] > 0 ? 1 : 0; } }