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); + } }