Files
leaudit-platform-frontend/app/api
TanWenyan 89b1d2e5f5 feat(evaluation): 模块1.3 - 增强评查点分组删除接口安全性
## 主要改进

### 1. 删除策略优化(从级联删除改为阻止删除)
-  **安全优先**:采用阻止删除策略而非级联删除
-  删除前检查子分组,如有则拒绝删除
-  删除前检查关联评查点,如有则拒绝删除
-  只有空分组才能被删除

### 2. 详细的删除检查
-  ID有效性验证
-  分组存在性验证
-  子分组检查(仅一级分组)
-  评查点关联检查(所有分组)
-  返回详细的检查结果(childCount, pointCount)

### 3. 友好的错误提示
-  明确提示存在多少个子分组
-  明确提示存在多少个评查点
-  建议用户先清理关联数据
-  区分不同类型的删除失败原因

### 4. 标记废弃函数
-  deleteChildGroup 标记为 @deprecated
-  deleteEvaluationPointsByGroupId 标记为 @deprecated
-  保留代码以备将来批量删除功能使用

## 删除策略对比

### 旧策略(级联删除)- 高风险
 删除一级分组时自动删除所有子分组
 自动删除所有关联的评查点
 用户可能误删大量数据
 无法恢复

### 新策略(阻止删除)- 安全
 拒绝删除有子分组的一级分组
 拒绝删除有评查点的分组
 用户必须手动清理关联数据
 防止误删除
 提供清晰的错误提示

## 返回值增强

```typescript
{
  success: boolean;
  error?: string;
  details?: {
    hasChildren: boolean;  // 是否有子分组
    hasPoints: boolean;    // 是否有评查点
    childCount?: number;   // 子分组数量
    pointCount?: number;   // 评查点数量
  }
}
```

## 相关文件
- app/api/evaluation_points/rule-groups.ts

## 验收清单
- [x] TypeScript 类型检查通过
- [x] 删除前完整的关联检查
- [x] 阻止删除有依赖的分组
- [x] 详细的错误提示
- [x] 返回详细的检查结果

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 12:13:57 +08:00
..
2025-11-24 18:41:14 +08:00