发现时间: 2025年06月17日 10:50
问题性质: 架构级别的功能缺陷
影响程度: 严重 - 导致整个清理计划功能无法正常使用
"一致各狗屁啊,怎么给清理计划 配置 清理内容(计划内容)"
用户无法为清理计划配置具体的清理内容,这是一个核心功能的缺失。
// 应该存在但实际缺失
app/Module/Cleanup/AdminControllers/CleanupPlanContentController.php
影响: 用户无法通过后台界面管理计划内容
✅ CleanupConfigController.php - 基础配置管理
✅ CleanupPlanController.php - 计划管理
✅ CleanupTaskController.php - 任务管理
✅ CleanupBackupController.php - 备份管理
✅ CleanupLogController.php - 日志管理
✅ CleanupStatsController.php - 统计管理
❌ CleanupPlanContentController.php - 计划内容管理 (缺失!)
// 应该存在但实际缺失
app/Module/Cleanup/Repositories/CleanupPlanContentRepository.php
影响: 无法进行计划内容的数据访问操作
✅ CleanupConfigRepository.php - 基础配置仓库
✅ CleanupPlanRepository.php - 计划仓库
✅ CleanupTaskRepository.php - 任务仓库
✅ CleanupBackupRepository.php - 备份仓库
✅ CleanupLogRepository.php - 日志仓库
❌ CleanupPlanContentRepository.php - 计划内容仓库 (缺失!)
// 应该存在但实际缺失的Action类
EditPlanContentAction.php - 编辑计划内容
DeletePlanContentAction.php - 删除计划内容
AddTableToPlanAction.php - 添加表到计划
RemoveTableFromPlanAction.php - 从计划移除表
BatchEditPlanContentAction.php - 批量编辑计划内容
GeneratePlanContentAction.php - 生成计划内容
✅ ViewPlanContentsAction.php - 查看计划内容 (只读)
❌ 其他计划内容管理Action全部缺失
// 位置: app/Module/Cleanup/Logics/CleanupPlanLogic.php:82
public static function generateContents(int $planId, bool $autoGenerate = true): array
功能: 根据计划类型自动生成内容配置
限制: 只能自动生成,无法手动精细配置
1. 根据计划类型获取目标表 (getTargetTables)
2. 为每个表生成默认配置 (generateTableContent)
3. 基于CleanupConfig的默认设置
4. 批量创建CleanupPlanContent记录
禁用了所有操作按钮
// CleanupPlanController.php:172-175
$grid->disableActions(); // 禁用操作
$grid->disableCreateButton(); // 禁用创建
$grid->disableFilter(); // 禁用筛选
$grid->disablePagination(); // 禁用分页
用户期望的流程:
1. 创建清理计划 ✅
2. 配置计划内容 ❌ (缺失!)
3. 执行清理任务 ✅
实际可用流程:
1. 创建清理计划 ✅
2. 系统自动生成内容 ⚠️ (不可控)
3. 执行清理任务 ✅
// 模型定义完整,包含所有必要字段
- plan_id: 计划ID
- table_name: 表名
- cleanup_type: 清理类型
- conditions: 清理条件
- priority: 优先级
- batch_size: 批处理大小
- is_enabled: 是否启用
- backup_enabled: 是否备份
- notes: 备注说明
-- kku_cleanup_plan_contents 表结构完整
-- 包含所有必要字段和索引
-- 外键关系正确
// 缺失的服务方法
public static function updatePlanContent(int $contentId, array $data): array;
public static function deletePlanContent(int $contentId): array;
public static function addTableToPlan(int $planId, string $tableName, array $config): array;
public static function removeTableFromPlan(int $planId, string $tableName): array;
// 缺失的逻辑方法
public static function updateContent(int $contentId, array $data): array;
public static function deleteContent(int $contentId): array;
public static function addTable(int $planId, string $tableName, array $config): array;
这是一个严重的架构缺陷,导致清理计划的核心功能无法使用。虽然数据模型和基础逻辑完整,但缺少了用户交互的关键组件,使得整个功能链条断裂。
必须立即修复,否则用户无法正常使用清理计划功能。