# 报修流程 API ## 工单状态流转 ``` open → processing → completed → confirmed ``` | 状态 | 说明 | |------|------| | `open` | 待处理,新创建的工单 | | `processing` | 处理中,管理员已接手 | | `completed` | 已完成,等待报修人确认 | | `confirmed` | 已确认,流程结束 | ## 1. 普通报修(所有登录用户) ```bash POST /api/v1/repairs ``` Body: ```json { "classroom_id": 121, "description": "投影仪无法开机", "images": ["url1", "url2"] } ``` 限制: - 同一教室存在状态为 `open` 或 `processing` 的工单时,禁止重复提交 ## 2. 紧急报修 ```bash POST /api/v1/repairs/emergency ``` Body: 与普通报修相同。 返回内容: - 值班助理电话号码 - 同时创建工单 ## 3. 工单列表 ```bash GET /api/v1/repairs ``` 权限: - `assistant` / `superadmin` / `counselor`:查看全部 - 其他角色:仅查看自己创建的工单 ## 4. 更新工单(assistant / superadmin / counselor) ```bash PUT /api/v1/repairs/{id} ``` Body: ```json { "status": "processing", "remark": "处理说明" } ``` 说明: - `remark` 字段可选 - 更新时会自动将当前用户设为处理人 ## 5. 报修人确认维修完成 ```bash PUT /api/v1/repairs/{id}/confirm ``` 权限:仅工单创建者可调用。 说明:将工单状态从 `completed` 改为 `confirmed`。