同步失败原因,最近同步成功的时间记录

This commit is contained in:
root
2026-06-20 05:07:11 +08:00
parent d5a0ffa6db
commit e95f4a227c
19 changed files with 884 additions and 74 deletions
@@ -0,0 +1,15 @@
-- 工单同步日志增强:最近成功时间/方式、完整失败原因
SET NAMES utf8mb4;
ALTER TABLE `fa_split_ticket`
MODIFY COLUMN `sync_message` text COMMENT '同步失败完整原因',
ADD COLUMN `sync_success_time` bigint(16) DEFAULT NULL COMMENT '最近一次同步成功时间' AFTER `sync_time`,
ADD COLUMN `sync_success_mode` enum('auto','manual') DEFAULT NULL COMMENT '最近成功同步方式:auto=自动,manual=手动' AFTER `sync_success_time`;
-- 历史成功记录回填最近成功时间(方式未知留空)
UPDATE `fa_split_ticket`
SET `sync_success_time` = `sync_time`
WHERE `sync_status` = 'success'
AND `sync_success_time` IS NULL
AND `sync_time` IS NOT NULL
AND `sync_time` > 0;
@@ -62,12 +62,13 @@ class SplitSyncTickets extends Command
try {
$count = $service->syncDueTickets();
$output->writeln('<info>本次处理工单数: ' . $count . '</info>');
$output->writeln('<comment>汇总日志已写入 runtime/log/split_sync.log</comment>');
} finally {
$cronLock->release();
}
if (SplitTicketSyncLogger::isEnabled()) {
$output->writeln('<comment>调试日志已写入 runtime/log/split_sync.log</comment>');
$output->writeln('<comment>详细调试日志已写入 runtime/log/split_sync.log</comment>');
}
}
}