diff --git a/doc/project/03-计划文档/迭代开发计划第三稿 .docx b/doc/project/03-计划文档/迭代开发计划第三稿 .docx new file mode 100644 index 0000000..0970f0a Binary files /dev/null and b/doc/project/03-计划文档/迭代开发计划第三稿 .docx differ diff --git a/src/main/java/com/campus/water/controller/web/DeviceController.java b/src/main/java/com/campus/water/controller/web/DeviceController.java index 71fd25e..8163470 100644 --- a/src/main/java/com/campus/water/controller/web/DeviceController.java +++ b/src/main/java/com/campus/water/controller/web/DeviceController.java @@ -122,4 +122,19 @@ public class DeviceController { return ResponseEntity.ok(ResultVO.error(500, "查询设备失败: " + e.getMessage())); } } + + /** + * 根据设备ID查询设备详情 + */ + @GetMapping("/{deviceId}") + @Operation(summary = "查询设备详情", description = "根据设备ID获取设备的详细信息") + public ResponseEntity> getDeviceDetail(@PathVariable String deviceId) { + try { + Device device = deviceService.getDeviceById(deviceId); + return ResponseEntity.ok(ResultVO.success(device, "设备查询成功")); + } catch (Exception e) { + return ResponseEntity.ok(ResultVO.error(500, "设备查询失败: " + e.getMessage())); + } + } + } \ No newline at end of file diff --git a/src/main/java/com/campus/water/controller/web/RepairmanController.java b/src/main/java/com/campus/water/controller/web/RepairmanController.java index 6e47322..e93849e 100644 --- a/src/main/java/com/campus/water/controller/web/RepairmanController.java +++ b/src/main/java/com/campus/water/controller/web/RepairmanController.java @@ -115,4 +115,22 @@ public class RepairmanController { return ResponseEntity.ok(ResultVO.error(500, "查询维修人员详情失败: " + e.getMessage())); } } + + /** + * 根据片区ID查询维修人员 + * 专门用于仅按片区筛选维修人员的场景,返回指定片区内的所有维修人员 + */ + @GetMapping("/by-area/{areaId}") + @PreAuthorize("hasAnyRole('SUPER_ADMIN', 'AREA_ADMIN')") // 保持与其他查询接口一致的权限控制 + @Operation(summary = "根据片区查询维修人员", description = "根据指定的片区ID,查询该片区内的所有维修人员") + public ResponseEntity>> getRepairmenByArea(@PathVariable String areaId) { + try { + // 调用现有服务层方法,仅传入areaId,其他参数为null(表示不筛选) + List repairmen = repairmanService.getRepairmanList(null, areaId, null); + return ResponseEntity.ok(ResultVO.success(repairmen)); + } catch (Exception e) { + // 统一异常处理,与其他接口保持一致 + return ResponseEntity.ok(ResultVO.error(500, "根据片区查询维修人员失败: " + e.getMessage())); + } + } } \ No newline at end of file