From a20c1b672558ffbae1217fd9d469d2240a35a970 Mon Sep 17 00:00:00 2001 From: wanglei <3085637232@qq.com> Date: Mon, 29 Dec 2025 15:14:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E4=BF=A1=E6=81=AF=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../water/controller/web/DeviceController.java | 17 +++++++++++++++++ .../com/campus/water/service/DeviceService.java | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) 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 9ede9f5..ec6fe19 100644 --- a/src/main/java/com/campus/water/controller/web/DeviceController.java +++ b/src/main/java/com/campus/water/controller/web/DeviceController.java @@ -236,4 +236,21 @@ public class DeviceController { } } + // ========== 新增:管理员编辑设备基本信息接口 ========== + @PutMapping("/edit") + @PreAuthorize("hasAnyRole('ADMIN', 'SUPER_ADMIN')") // 限制仅管理员/超级管理员可访问 + @Operation(summary = "编辑设备基本信息", description = "管理员更新设备名称、类型、安装位置等基本信息(不含设备状态、创建时间)") + public ResponseEntity> editDevice(@Valid @RequestBody Device device) { + try { + // 校验设备ID不能为空(编辑必须指定设备ID) + if (device.getDeviceId() == null || device.getDeviceId().trim().isEmpty()) { + return ResponseEntity.ok(ResultVO.error(400, "设备ID不能为空")); + } + Device updatedDevice = deviceService.updateDeviceInfo(device); + return ResponseEntity.ok(ResultVO.success(updatedDevice, "设备信息编辑成功")); + } 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/service/DeviceService.java b/src/main/java/com/campus/water/service/DeviceService.java index 1e8cfbf..9929574 100644 --- a/src/main/java/com/campus/water/service/DeviceService.java +++ b/src/main/java/com/campus/water/service/DeviceService.java @@ -61,10 +61,10 @@ public class DeviceService { Device existingDevice = getDeviceById(device.getDeviceId()); // 保留创建时间,更新其他可编辑字段 existingDevice.setDeviceName(device.getDeviceName()); - existingDevice.setDeviceType(device.getDeviceType()); existingDevice.setAreaId(device.getAreaId()); existingDevice.setInstallLocation(device.getInstallLocation()); existingDevice.setInstallDate(device.getInstallDate()); + existingDevice.setParentMakerId(device.getParentMakerId()); return deviceRepository.save(existingDevice); } -- 2.34.1