# Ether E2E测试Bug跟踪文档

**测试日期**: 2026-03-03
**测试人员**: AI Assistant
**版本**: v1.0

---

## 一、测试结果汇总

| 测试项 | 结果 |
|--------|------|
| 登录API | ✅ 通过 |
| 权限查询API | ✅ 通过 |
| 项目列表API | ✅ 通过 |
| 用户列表API | ✅ 通过 |
| 角色列表API | ❌ 失败 |
| 工单列表API | ❌ 失败 |
| 设备创建API | ❌ 失败 |
| 访客预约API | ❌ 失败 |
| 巡检计划API | ❌ 失败 |
| 通知列表API | ❌ 失败 |

**通过率**: 4/10 (40%)

---

## 二、Bug详细记录

### Bug 001: 角色列表API返回500错误

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-001 |
| **模块** | 权限管理 |
| **API** | GET /api/v1/auth/permissions/roles |
| **错误描述** | 系统内部错误，返回500 |
| **错误信息** | `{"code":500,"message":"系统内部错误，请稍后重试","path":"/api/v1/auth/permissions/roles"}` |
| **严重程度** | P1 |
| **状态** | 已修复 |
| **发现时间** | 2026-03-03 |
| **修复时间** | 2026-03-03 |

**问题根因**: `ProjectContextInterceptor` 设置的 `ProjectContextHolder` 与 `PermissionController` 使用的不是同一个类。拦截器设置的是 `com.ether.auth.context.ProjectContextHolder`，而 Controller 使用的是 `com.ether.common.context.ProjectContextHolder`。

**修复方案**: 修改 `ProjectContextInterceptor`，在设置项目上下文时同时设置两个 `ProjectContextHolder`。

---

### Bug 002: 工单列表API缺少项目上下文

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-002 |
| **模块** | 工单管理 |
| **API** | GET /api/v1/ops/work-orders |
| **错误描述** | 项目上下文不能为空 |
| **错误信息** | `{"code":400,"message":"项目上下文不能为空","data":null,"success":false}` |
| **严重程度** | P1 |
| **状态** | 待修复 |
| **发现时间** | 2026-03-03 |

**初步分析**: 工单API需要项目ID作为上下文参数

---

### Bug 003: 设备创建API失败

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-003 |
| **模块** | 设备管理 |
| **API** | POST /api/v1/mdm/equipments |
| **错误描述** | 缺少项目上下文 |
| **严重程度** | P1 |
| **状态** | 待修复 |
| **发现时间** | 2026-03-03 |

---

### Bug 004: 访客预约API失败

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-004 |
| **模块** | 访客管理 |
| **API** | GET /api/v1/mdm/visitor-appointments |
| **错误描述** | 缺少项目上下文 |
| **严重程度** | P1 |
| **状态** | 待修复 |
| **发现时间** | 2026-03-03 |

---

### Bug 005: 巡检计划API失败

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-005 |
| **模块** | 巡检管理 |
| **API** | GET /api/v1/ops/inspection-plans |
| **错误描述** | 缺少项目上下文 |
| **严重程度** | P1 |
| **状态** | 待修复 |
| **发现时间** | 2026-03-03 |

---

### Bug 006: 通知列表API失败

| 字段 | 内容 |
|------|------|
| **Bug ID** | BUG-006 |
| **模块** | 通知管理 |
| **API** | GET /api/v1/ops/notifications |
| **错误描述** | 缺少项目上下文 |
| **严重程度** | P1 |
| **状态** | 待修复 |
| **发现时间** | 2026-03-03 |

---

## 三、修复计划

### Phase 1: 修复项目上下文问题

需要修复的API（5个）:
1. 工单列表 - BUG-002
2. 设备创建 - BUG-003
3. 访客预约 - BUG-004
4. 巡检计划 - BUG-005
5. 通知列表 - BUG-006

**修复方案**: 添加项目上下文header: `X-Project-Id`

### Phase 2: 修复角色列表500错误

1. 检查后端日志
2. 定位具体错误原因
3. 修复并验证

---

## 四、历史记录

| 日期 | 操作 | 说明 |
|------|------|------|
| 2026-03-03 | 创建 | 初始Bug跟踪文档 |
