From 24b8969c768c955e58fe84eb0e70bc53de6c17e0 Mon Sep 17 00:00:00 2001 From: djdongjae Date: Wed, 29 May 2024 11:00:12 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=9E=AC=EA=B3=A0=20=EC=82=AD=EC=A0=9C?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84=20(#6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inventory/InventoryController.java | 7 +++++++ .../tastyinventory_be/exception/SuccessCode.java | 3 ++- .../service/InventoryService.java | 15 ++++++++++++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/skhu/tastyinventory_be/controller/inventory/InventoryController.java b/src/main/java/net/skhu/tastyinventory_be/controller/inventory/InventoryController.java index f2a226c..603e0b2 100644 --- a/src/main/java/net/skhu/tastyinventory_be/controller/inventory/InventoryController.java +++ b/src/main/java/net/skhu/tastyinventory_be/controller/inventory/InventoryController.java @@ -48,4 +48,11 @@ public BaseResponse> findAllByNameContaining( final List data = inventoryService.findAllByNameContaining(srchText.orElse("")); return BaseResponse.success(SuccessCode.INVENTORY_GET_SUCCESS, data); } + + @DeleteMapping("/{id}") + @ResponseStatus(HttpStatus.NO_CONTENT) + public BaseResponse deleteInventory(@PathVariable Long id) { + inventoryService.deleteInventory(id); + return BaseResponse.success(SuccessCode.INVENTORY_DELETE_SUCCESS); + } } diff --git a/src/main/java/net/skhu/tastyinventory_be/exception/SuccessCode.java b/src/main/java/net/skhu/tastyinventory_be/exception/SuccessCode.java index e38e32d..c50001b 100644 --- a/src/main/java/net/skhu/tastyinventory_be/exception/SuccessCode.java +++ b/src/main/java/net/skhu/tastyinventory_be/exception/SuccessCode.java @@ -35,7 +35,8 @@ public enum SuccessCode { SALARY_DELETE_SUCCESS(HttpStatus.NO_CONTENT, "급여 삭제에 성공했습니다"), EMPLOYEE_PATCH_SUCCESS(HttpStatus.NO_CONTENT, "직원 정보 수정이 완료되었습니다"), SALARY_PATCH_SUCCESS(HttpStatus.NO_CONTENT, "급여 정보 수정이 완료되었습니다"), - + INVENTORY_DELETE_SUCCESS(HttpStatus.NO_CONTENT, "재고 삭제에 성공했습니다."), + INVENTORY_PATCH_SUCCESS(HttpStatus.NO_CONTENT, "재고 수정이 완료되었습니다.") ; diff --git a/src/main/java/net/skhu/tastyinventory_be/service/InventoryService.java b/src/main/java/net/skhu/tastyinventory_be/service/InventoryService.java index 0f11ea2..06e99fb 100644 --- a/src/main/java/net/skhu/tastyinventory_be/service/InventoryService.java +++ b/src/main/java/net/skhu/tastyinventory_be/service/InventoryService.java @@ -37,13 +37,26 @@ public void createInventory(String name, Unit unit, MultipartFile image) { public InventoryResponseDto findInventory(Long id) { Inventory inventory = inventoryRepository.findById(id) - .orElseThrow(() -> new NotFoundException(ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION, ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION.getMessage())); + .orElseThrow(() -> new NotFoundException(ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION, + ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION.getMessage())); return InventoryResponseDto.from(inventory); } public List findAllByNameContaining(String srchText) { List inventoryList = inventoryRepository.findAllByNameContaining(srchText); + return inventoryList.stream().map(InventoryResponseDto::from).collect(Collectors.toList()); } + + @Transactional + public void deleteInventory(Long id) { + Inventory inventory = inventoryRepository.findById(id) + .orElseThrow(() -> new NotFoundException(ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION, + ErrorCode.NOT_FOUND_INVENTORY_EXCEPTION.getMessage())); + + s3Service.deleteFile(inventory.getImageUrl()); + + inventoryRepository.delete(inventory); + } }