diff --git a/loan/src/main/java/com/example/loan/controller/JudgementController.java b/loan/src/main/java/com/example/loan/controller/JudgementController.java index a81cfda3..30a9a857 100644 --- a/loan/src/main/java/com/example/loan/controller/JudgementController.java +++ b/loan/src/main/java/com/example/loan/controller/JudgementController.java @@ -39,4 +39,12 @@ public class JudgementController extends AbstractController { ) { return ok(judgementService.update(judgementId, request)); } + + @DeleteMapping("/{judgementId}") + public ResponseDto delete( + @PathVariable Long judgementId + ) { + judgementService.delete(judgementId); + return ok(); + } } diff --git a/loan/src/main/java/com/example/loan/service/JudgementService.java b/loan/src/main/java/com/example/loan/service/JudgementService.java index 168c378f..10ec38b9 100644 --- a/loan/src/main/java/com/example/loan/service/JudgementService.java +++ b/loan/src/main/java/com/example/loan/service/JudgementService.java @@ -11,4 +11,6 @@ public interface JudgementService { JudgementDto.Response getJudgementOfApplication(Long applicationId); JudgementDto.Response update(Long judgementId, JudgementDto.Request request); + + void delete(Long judgementId); } diff --git a/loan/src/main/java/com/example/loan/service/JudgementServiceImpl.java b/loan/src/main/java/com/example/loan/service/JudgementServiceImpl.java index 40f56244..aad2ab9e 100644 --- a/loan/src/main/java/com/example/loan/service/JudgementServiceImpl.java +++ b/loan/src/main/java/com/example/loan/service/JudgementServiceImpl.java @@ -68,6 +68,16 @@ public class JudgementServiceImpl implements JudgementService { return modelMapper.map(judgement, JudgementDto.Response.class); } + @Override + public void delete(Long judgementId) { + Judgement judgement = judgementRepository.findById(judgementId) + .orElseThrow(() -> new BaseException(ResultType.SYSTEM_ERROR)); + + judgement.setIsDeleted(true); + + judgementRepository.save(judgement); + } + private boolean isPresentApplication(Long applicationId) { return applicationRepository.findById(applicationId).isPresent(); } diff --git a/loan/src/test/java/com/example/loan/service/JudgementServiceImplTest.java b/loan/src/test/java/com/example/loan/service/JudgementServiceImplTest.java index 79f0606a..194e81e8 100644 --- a/loan/src/test/java/com/example/loan/service/JudgementServiceImplTest.java +++ b/loan/src/test/java/com/example/loan/service/JudgementServiceImplTest.java @@ -115,4 +115,19 @@ class JudgementServiceImplTest { assertThat(actual.getName()).isSameAs(request.getName()); assertThat(actual.getApprovalAmount()).isSameAs(request.getApprovalAmount()); } + + @Test + void Should_DeletedJudgementEntity_When_RequestDeleteExistJudgementInfo() { + + Judgement entity = Judgement.builder() + .judgementId(1L) + .build(); + + when(judgementRepository.findById(1L)).thenReturn(Optional.ofNullable(entity)); + when(judgementRepository.save(ArgumentMatchers.any(Judgement.class))).thenReturn(entity); + + judgementService.delete(1L); + + assertThat(entity.getIsDeleted()).isTrue(); + } } \ No newline at end of file