编辑 | blame | 历史 | 原始文档

ConveyorLineDispatchHandler Refactor Implementation Plan

For agentic workers: REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (- [ ]) syntax for tracking.

Goal: 在不改变调度行为的前提下,降低 ConveyorLineDispatchHandler 复杂度,拆分“地址轮询策略”和“任务筛选逻辑”。

Architecture: 保留 ConveyorLineDispatchHandler 作为流程入口;将可替换策略(轮询地址选择)与任务过滤逻辑拆到同目录新类中,避免单文件承担全部职责。

Tech Stack: .NET 6, 现有 TaskService/RouterService 与 DTO 模型


Chunk 1: 结构拆分

Task 1: 拆分地址选择策略

Files:
- Create: WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
- Modify: WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs

  • [ ] Step 1: 迁移轮询地址选择与状态维护逻辑
  • [ ] Step 2: Handler 中改为调用选择器

Task 2: 拆分任务筛选器

Files:
- Create: WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTaskFilter.cs
- Modify: WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs

  • [ ] Step 1: 迁移任务过滤条件和候选任务构建
  • [ ] Step 2: Handler 中改为调用过滤器

Chunk 2: 清理与验证

Task 3: 入口瘦身与注释

Files:
- Modify: WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs

  • [ ] Step 1: 删除迁移后私有方法
  • [ ] Step 2: 保留关键流程注释,说明行为保持点

Task 4: 编译验收

Files:
- Modify: WIDESEAWCS_Tasks/ConveyorLineNewJob/*.cs(如需微调)

  • [ ] Step 1: 运行 dotnet build WIDESEAWCS_Tasks/WIDESEAWCS_Tasks.csproj -c Debug
  • [ ] Step 2: 最小修复直到通过