Files
2025-11-01 16:29:18 +08:00

1.8 KiB

  1. 分析与方案制定

    • 发现“系统任务自愈”功能无法按预期工作。
    • 深入分析发现根源在于 PlanRepository.UpdatePlan 函数的设计缺陷(名不副实,部分更新)。
    • 制定了包含代码重构的最终方案,以从根本上解决问题。
  2. 文档更新

    • 新建 design.md (已合并入 proposal.md),详细记录问题分析、设计决策和重构方案。
    • 更新 proposal.md 以反映最终的、包含重构的变更范围。
    • 更新 tasks.md 任务列表。
  3. 代码重构与修改

    • 重构 plan_repository.go:
      • UpdatePlan 接口和实现重命名为 UpdatePlanMetadataAndStructure
      • 创建一个新的、使用 Save 实现全字段更新的 UpdatePlan 函数。
    • 修正 data_initializer.go:
      • 将对旧 UpdatePlan 的调用修改为 UpdatePlanMetadataAndStructure
      • 保留并确认后续调用 UpdatePlanStatus 的逻辑,以完成状态恢复。
  4. 测试与验证

    • 场景一:系统任务失败
      • 手动将 PlanNameTimedFullDataCollection 计划在数据库中的状态修改为 failed
      • 重启应用。
      • 验证该计划的状态是否已自动恢复为 enabled
    • 场景二:系统任务被停止
      • 手动将 PlanNameTimedFullDataCollection 计划在数据库中的状态修改为 stopped
      • 重启应用。
      • 验证该计划的状态是否已自动恢复为 enabled
    • 场景三:回归测试 plan_service
      • (可选) 通过 API 调用更新一个普通计划,确认其所有字段(包括状态)都能被正确更新。