getKey(); $task = CleanupTask::with('logs')->find($taskId); if (!$task) { return $this->response() ->error('任务不存在'); } $logs = $task->logs()->orderBy('created_at', 'desc')->get(); if ($logs->isEmpty()) { return $this->response() ->info('该任务暂无执行日志'); } $html = '
'; $html .= ''; $html .= ''; $cleanupTypes = [ 1 => '清空表', 2 => '删除所有', 3 => '按时间删除', 4 => '按用户删除', 5 => '按条件删除', ]; foreach ($logs as $log) { $cleanupType = $cleanupTypes[$log->cleanup_type] ?? '未知'; $status = empty($log->error_message) ? '成功' : '失败'; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; $html .= ""; // 如果有错误信息,显示在下一行 if (!empty($log->error_message)) { $html .= ""; $html .= ""; $html .= ""; } } $html .= '
表名清理类型删除前删除后删除数量执行时间状态执行时间
{$log->table_name}{$cleanupType}" . number_format($log->before_count) . "" . number_format($log->after_count) . "" . number_format($log->deleted_records) . "" . number_format($log->execution_time, 3) . "s{$status}{$log->created_at}
错误:{$log->error_message}
'; // 添加统计信息 $totalDeleted = $logs->sum('deleted_records'); $totalTime = $logs->sum('execution_time'); $successCount = $logs->where('error_message', '')->count(); $failCount = $logs->where('error_message', '!=', '')->count(); $html .= '
'; $html .= '
'; $html .= '
' . number_format($totalDeleted) . '
'; $html .= '总删除记录数'; $html .= '
'; $html .= '
'; $html .= '
' . number_format($totalTime, 3) . 's
'; $html .= '总执行时间'; $html .= '
'; $html .= '
'; $html .= '
' . $successCount . '
'; $html .= '成功操作数'; $html .= '
'; $html .= '
'; $html .= '
' . $failCount . '
'; $html .= '失败操作数'; $html .= '
'; $html .= '
'; return $this->response() ->success('任务执行日志') ->detail($html); } catch (\Exception $e) { return $this->response() ->error('查看失败:' . $e->getMessage()); } } }