diff --git a/app/core/device/command_executor.py b/app/core/device/command_executor.py index 615234c..8d4b2a4 100644 --- a/app/core/device/command_executor.py +++ b/app/core/device/command_executor.py @@ -123,6 +123,9 @@ class CommandExecutor: return DeviceShellResult( device_id=device_id, success=False, + total_commands=0, + success_commands=0, + failed_commands=0, error=f"设备 {device_id} 不存在", results=[] ) @@ -133,12 +136,20 @@ class CommandExecutor: result = await self._execute_single_command(device, cmd_task) command_results.append(result) + # 统计命令执行结果 + total_commands = len(command_results) + success_commands = sum(1 for result in command_results if result.success) + failed_commands = total_commands - success_commands + # 检查是否所有命令都成功 all_success = all(result.success for result in command_results) return DeviceShellResult( device_id=device_id, success=all_success, + total_commands=total_commands, + success_commands=success_commands, + failed_commands=failed_commands, error=None if all_success else "部分命令执行失败", results=command_results ) @@ -148,6 +159,9 @@ class CommandExecutor: return DeviceShellResult( device_id=device_task.device_id, success=False, + total_commands=0, + success_commands=0, + failed_commands=0, error=str(e), results=[] )