| | |
| | | using WIDESEAWCS_Core.LogHelper; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_ITaskInfoRepository; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_Tasks.SocketServer; |
| | | using WIDESEAWCS_Tasks.Workflow; |
| | | using WIDESEAWCS_Tasks.Workflow.Abstractions; |
| | |
| | | /// <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, |
| | | IFakeBatteryPositionService fakeBatteryPositionService) |
| | | { |
| | | // 初始化状态管理器,传入缓存服务 |
| | | _stateManager = new RobotStateManager(cache, _logger); |
| | | // 初始化状态管理器,传入仓储服务 |
| | | _stateManager = new RobotStateManager(robotStateRepository, _logger); |
| | | _logger = logger; |
| | | |
| | | // 创建 Socket 网关,封装 TcpSocketServer 的访问 |
| | |
| | | var prefixCommandHandler = new RobotPrefixCommandHandler(robotTaskService, _taskProcessor, _stateManager, socketGateway, fakeBatteryPositionService); |
| | | |
| | | // 初始化消息路由器 |
| | | _messageRouter = new RobotMessageHandler(socketGateway, _stateManager, cache, simpleCommandHandler, prefixCommandHandler, logger); |
| | | _messageRouter = new RobotMessageHandler(socketGateway, _stateManager, simpleCommandHandler, prefixCommandHandler, logger); |
| | | |
| | | // 初始化工作流编排器 |
| | | _workflowOrchestrator = new RobotWorkflowOrchestrator(_stateManager, _clientManager, _taskProcessor, robotTaskService, _logger); |