diff --git a/src/main/java/github/benjamin/equipreservebackend/controller/DeviceController.java b/src/main/java/github/benjamin/equipreservebackend/controller/DeviceController.java index 41e0821..f269410 100644 --- a/src/main/java/github/benjamin/equipreservebackend/controller/DeviceController.java +++ b/src/main/java/github/benjamin/equipreservebackend/controller/DeviceController.java @@ -53,10 +53,10 @@ public class DeviceController { @PreAuthorize("hasRole('DEVICE_ADMIN')") @PostMapping("/{userId}") - public ResponseResult addDevice(@PathVariable("userId") Long userId, + public ResponseResult addDevice(@PathVariable("userId") Long userId, @RequestBody Device device) { deviceService.addDevice(userId, device); - return ResponseResult.success(device); + return ResponseResult.success(new DeviceAdminVO(device)); } @PreAuthorize("hasRole('DEVICE_ADMIN')") @@ -68,11 +68,11 @@ public class DeviceController { @PreAuthorize("hasRole('DEVICE_ADMIN')") @PutMapping("/{id}") - public ResponseResult updateDevice(@PathVariable("id") Long id, + public ResponseResult updateDevice(@PathVariable("id") Long id, @RequestBody Device device) { device.setId(id); Device updatedDevice = deviceService.updateDevice(device); - return ResponseResult.success(updatedDevice); + return ResponseResult.success(new DeviceAdminVO(updatedDevice)); } @PreAuthorize("hasRole('DEVICE_ADMIN')") diff --git a/src/main/java/github/benjamin/equipreservebackend/service/impl/DeviceServiceImpl.java b/src/main/java/github/benjamin/equipreservebackend/service/impl/DeviceServiceImpl.java index caba509..103a3d3 100644 --- a/src/main/java/github/benjamin/equipreservebackend/service/impl/DeviceServiceImpl.java +++ b/src/main/java/github/benjamin/equipreservebackend/service/impl/DeviceServiceImpl.java @@ -80,6 +80,14 @@ public class DeviceServiceImpl implements DeviceService { @Override public void deleteDevice(Long id) { + Device device = deviceMapper.selectById(id); + if (StringUtils.hasText(device.getImagePath())) { + Path fullPath = Paths.get(System.getProperty("user.dir"), device.getImagePath()).normalize(); + File file = fullPath.toFile(); + if (file.exists() && file.isFile()) { + file.delete(); + } + } deviceMapper.delete(new LambdaQueryWrapper() .eq(Device::getId, id)); }