1.8 KiB
1.8 KiB
-
分析与方案制定
- 发现“系统任务自愈”功能无法按预期工作。
- 深入分析发现根源在于
PlanRepository.UpdatePlan函数的设计缺陷(名不副实,部分更新)。 - 制定了包含代码重构的最终方案,以从根本上解决问题。
-
文档更新
- 新建
design.md(已合并入proposal.md),详细记录问题分析、设计决策和重构方案。 - 更新
proposal.md以反映最终的、包含重构的变更范围。 - 更新
tasks.md任务列表。
- 新建
-
代码重构与修改
- 重构
plan_repository.go:- 将
UpdatePlan接口和实现重命名为UpdatePlanMetadataAndStructure。 - 创建一个新的、使用
Save实现全字段更新的UpdatePlan函数。
- 将
- 修正
data_initializer.go:- 将对旧
UpdatePlan的调用修改为UpdatePlanMetadataAndStructure。 - 保留并确认后续调用
UpdatePlanStatus的逻辑,以完成状态恢复。
- 将对旧
- 重构
-
测试与验证
- 场景一:系统任务失败
- 手动将
PlanNameTimedFullDataCollection计划在数据库中的状态修改为failed。 - 重启应用。
- 验证该计划的状态是否已自动恢复为
enabled。
- 手动将
- 场景二:系统任务被停止
- 手动将
PlanNameTimedFullDataCollection计划在数据库中的状态修改为stopped。 - 重启应用。
- 验证该计划的状态是否已自动恢复为
enabled。
- 手动将
- 场景三:回归测试
plan_service- (可选) 通过 API 调用更新一个普通计划,确认其所有字段(包括状态)都能被正确更新。
- 场景一:系统任务失败