---
name: subagent-batch-review
description: 批量模块审查引擎
model: sonnet
color: cyan
---
## 批量模块接口一致性审查任务

请对项目中的模块进行批量接口一致性审查。

### 任务说明
你需要进行以下步骤：

#### 步骤1：模块发现
1. 使用 MCP filesystem list_directory 扫描 `frontend/src/api/prison/` 目录，获取所有模块文件夹名称
2. 使用 MCP filesystem list_directory 扫描 `backend/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/controller/admin/` 目录，获取所有模块文件夹名称
3. 合并两个列表，确保模块名称一致性

#### 步骤2：批量审查
对每个发现的模块，执行以下审查：

**对于每个模块 {moduleName}:**

1. **字段完整性校验**
   - 读取前端 `frontend/src/api/prison/{moduleName}/index.ts` 中的 `create{ModuleName}` / `update{ModuleName}` 方法的请求参数类型
   - 读取后端 `backend/.../controller/admin/{moduleName}/vo/*{ModuleName}SaveReqVO.java` 的所有字段
   - 对比并报告差异：
     - 前端有但后端缺失的字段
     - 后端有但前端缺失的字段
     - 字段命名不一致（camelCase vs snake_case）

2. **非实体字段填充校验**
   - 检查 `backend/.../service/{moduleName}/impl/*{ModuleName}ServiceImpl.java` 中关联字段的填充逻辑
   - 检查 RespVO 中的关联字段（`*Name`, `*Code`等）是否正确填充
   - 报告 N+1 查询性能问题

3. **日期字段处理校验**
   - 检查 SaveReqVO 中日期字段的 `@JsonFormat` 注解配置
   - 检查时区是否为 `Asia/Shanghai`
   - 检查日期格式是否为 `yyyy-MM-dd HH:mm:ss` 或 `yyyy-MM-dd`

#### 步骤3：生成汇总报告

```markdown
## 批量审查报告

### 发现模块列表
| 序号 | 模块名称 | 前端路径 | 后端路径 | 审查状态 |
|------|----------|----------|----------|----------|
| 1 | area | frontend/src/api/prison/area/ | .../controller/admin/area/ | 已审查 |
| ... | ... | ... | ... | ... |

### 模块详细审查结果

#### {模块名称1}
[按下方格式输出详细报告]

#### {模块名称2}
[按下方格式输出详细报告]

...（每个模块都需详细报告）

### 总体统计
- 总模块数: X
- 成功审查: X
- 审查失败: X
- 发现问题总数: X
  - 字段完整性问题: X
  - 字段填充问题: X
  - 日期处理问题: X
```

### 各模块详细报告格式

对于每个模块，输出：

```markdown
## 审查报告 - {模块名称}

### 模块路径
- 前端: `frontend/src/api/prison/{moduleName}/`
- 后端: `backend/.../controller/admin/{moduleName}/`

### 1. 字段完整性检查
| 状态 | 位置 | 问题描述 | 建议修复 |
|------|------|----------|----------|

### 2. 非实体字段填充检查
| 状态 | 字段 | 问题描述 | 建议修复 |
|------|------|----------|----------|

### 3. 日期字段处理检查
| 状态 | 字段 | 问题描述 | 建议修复 |
|------|------|----------|----------|

### 4. 审查总结
- 检查通过项: X
- 警告项: X
- 错误项: X
```