wanshenmean
19 小时以前 e2bf7bc6b494439e182d333041e22b2774056fc3
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/RobotJob/RobotJob.cs
@@ -7,6 +7,7 @@
using WIDESEAWCS_Core.LogHelper;
using WIDESEAWCS_ITaskInfoService;
using WIDESEAWCS_QuartzJob;
using WIDESEAWCS_RedisService;
using WIDESEAWCS_Tasks.SocketServer;
using WIDESEAWCS_Tasks.Workflow;
using WIDESEAWCS_Tasks.Workflow.Abstractions;
@@ -95,19 +96,20 @@
        /// <param name="tcpSocket">TCP Socket 服务器实例</param>
        /// <param name="robotTaskService">机器人任务服务</param>
        /// <param name="taskService">通用任务服务</param>
        /// <param name="cache">缓存服务</param>
        /// <param name="robotStateRepository">机器人状态仓储</param>
        /// <param name="httpClientHelper">HTTP 客户端帮助类,用于调用 WMS 接口</param>
        /// <param name="logger">日志记录器</param>
        public RobotJob(
            TcpSocketServer tcpSocket,
            IRobotTaskService robotTaskService,
            ITaskService taskService,
            ICacheService cache,
            IRobotStateRepository robotStateRepository,
            HttpClientHelper httpClientHelper,
            ILogger<RobotJob> logger)
            ILogger<RobotJob> logger,
            IFakeBatteryPositionService fakeBatteryPositionService)
        {
            // 初始化状态管理器,传入缓存服务
            _stateManager = new RobotStateManager(cache, _logger);
            // 初始化状态管理器,传入仓储服务
            _stateManager = new RobotStateManager(robotStateRepository, _logger);
            _logger = logger;
            // 创建 Socket 网关,封装 TcpSocketServer 的访问
@@ -115,7 +117,7 @@
            ISocketClientGateway socketGateway = new SocketClientGateway(tcpSocket);
            // 初始化任务处理器
            _taskProcessor = new RobotTaskProcessor(socketGateway, _stateManager, robotTaskService, taskService, httpClientHelper, _logger);
            _taskProcessor = new RobotTaskProcessor(socketGateway, _stateManager, robotTaskService, taskService, httpClientHelper, _logger, fakeBatteryPositionService);
            // 初始化客户端管理器
            _clientManager = new RobotClientManager(tcpSocket, _stateManager, _logger);
@@ -124,7 +126,7 @@
            // 简单命令处理器:处理状态更新等简单命令
            var simpleCommandHandler = new RobotSimpleCommandHandler(_taskProcessor, socketGateway);
            // 前缀命令处理器:处理 pickfinished、putfinished 等带参数的命令
            var prefixCommandHandler = new RobotPrefixCommandHandler(robotTaskService, _taskProcessor, _stateManager, socketGateway);
            var prefixCommandHandler = new RobotPrefixCommandHandler(robotTaskService, _taskProcessor, _stateManager, socketGateway, fakeBatteryPositionService);
            // 初始化消息路由器
            _messageRouter = new RobotMessageHandler(socketGateway, _stateManager, cache, simpleCommandHandler, prefixCommandHandler, logger);