修改Whatshub工单的完成数量总计的计算方法
This commit is contained in:
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
@@ -18,7 +18,6 @@ use think\console\Output;
|
||||
* 用法:
|
||||
* php think split:sync-tickets
|
||||
* php think split:sync-tickets --ticket=12
|
||||
* php think split:sync-tickets --ticket=12 --mode=auto
|
||||
*/
|
||||
class SplitSyncTickets extends Command
|
||||
{
|
||||
@@ -26,24 +25,21 @@ class SplitSyncTickets extends Command
|
||||
{
|
||||
$this->setName('split:sync-tickets')
|
||||
->addOption('ticket', 't', Option::VALUE_OPTIONAL, '指定工单 ID(强制同步,忽略周期)', '')
|
||||
->addOption('mode', 'm', Option::VALUE_OPTIONAL, '同步方式: auto=定时自动, manual=手动触发', 'manual')
|
||||
->setDescription('同步分流工单云控数据');
|
||||
}
|
||||
|
||||
protected function execute(Input $input, Output $output): void
|
||||
{
|
||||
set_time_limit(0);
|
||||
$syncMode = $this->resolveSyncMode($input);
|
||||
SplitTicketSyncLogger::log('cli', 'command start', [
|
||||
'ticketOption' => trim((string) $input->getOption('ticket')),
|
||||
'syncMode' => $syncMode,
|
||||
'appDebug' => SplitTicketSyncLogger::isEnabled(),
|
||||
]);
|
||||
$service = new SplitTicketSyncService();
|
||||
$ticketId = trim((string) $input->getOption('ticket'));
|
||||
|
||||
if ($ticketId !== '' && ctype_digit($ticketId)) {
|
||||
$result = $service->syncOne((int) $ticketId, true, false, $syncMode);
|
||||
$result = $service->syncOne((int) $ticketId, true);
|
||||
if (!empty($result['skipped'])) {
|
||||
$output->writeln('<comment>跳过: ' . ($result['message'] ?? '') . '</comment>');
|
||||
return;
|
||||
@@ -75,14 +71,4 @@ class SplitSyncTickets extends Command
|
||||
$output->writeln('<comment>详细调试日志已写入 runtime/log/split_sync.log</comment>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析 CLI 同步方式,供 sync_success_mode 落库
|
||||
*/
|
||||
private function resolveSyncMode(Input $input): string
|
||||
{
|
||||
$mode = strtolower(trim((string) $input->getOption('mode')));
|
||||
|
||||
return in_array($mode, ['auto', 'manual'], true) ? $mode : 'manual';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user