diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/controller/StorePaymentController.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/controller/StorePaymentController.java index 7c926dd6..5bcf314d 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/controller/StorePaymentController.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/controller/StorePaymentController.java @@ -1,5 +1,7 @@ package com.nowait.applicationadmin.storepayment.controller; +import java.util.Optional; + import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -12,6 +14,7 @@ import com.nowait.applicationadmin.storepayment.dto.StorePaymentCreateRequest; import com.nowait.applicationadmin.storepayment.dto.StorePaymentCreateResponse; +import com.nowait.applicationadmin.storepayment.dto.StorePaymentReadDto; import com.nowait.applicationadmin.storepayment.dto.StorePaymentUpdateRequest; import com.nowait.applicationadmin.storepayment.service.StorePaymentService; import com.nowait.common.api.ApiUtils; @@ -52,13 +55,25 @@ public ResponseEntity createStorePayment(@Valid @RequestBody StorePaymentCrea @Operation(summary = "주점 결제 정보 조회", description = "인증된 사용자의 주점 결제 정보를 조회합니다.") @ApiResponse(responseCode = "200", description = "주점 결제 정보 조회 성공") public ResponseEntity getStorePaymentByStoreId(@AuthenticationPrincipal MemberDetails memberDetails) { - return ResponseEntity - .status(HttpStatus.OK) - .body( - ApiUtils.success( - storePaymentService.getStorePaymentByStoreId(memberDetails) - ) - ); + Optional response = storePaymentService.getStorePaymentByStoreId(memberDetails); + + if (response.isPresent()) { + return ResponseEntity + .status(HttpStatus.OK) + .body( + ApiUtils.success( + response + ) + ); + } else { + return ResponseEntity + .status(HttpStatus.OK) + .body( + ApiUtils.success( + "해당 주점의 등록된 결제 정보가 존재하지 않습니다." + ) + ); + } } @PatchMapping("/update") diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentService.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentService.java index 4cf3c76f..7dad2fe2 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentService.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentService.java @@ -1,5 +1,7 @@ package com.nowait.applicationadmin.storepayment.service; +import java.util.Optional; + import com.nowait.applicationadmin.storepayment.dto.StorePaymentCreateRequest; import com.nowait.applicationadmin.storepayment.dto.StorePaymentCreateResponse; import com.nowait.applicationadmin.storepayment.dto.StorePaymentReadDto; @@ -9,6 +11,6 @@ public interface StorePaymentService { StorePaymentCreateResponse createStorePayment(StorePaymentCreateRequest request, MemberDetails memberDetails); - StorePaymentReadDto getStorePaymentByStoreId(MemberDetails memberDetails); + Optional getStorePaymentByStoreId(MemberDetails memberDetails); StorePaymentReadDto updateStorePayment(StorePaymentUpdateRequest request, MemberDetails memberDetails); } diff --git a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentServiceImpl.java b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentServiceImpl.java index 67db6c18..a7852824 100644 --- a/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentServiceImpl.java +++ b/nowait-app-admin-api/src/main/java/com/nowait/applicationadmin/storePayment/service/StorePaymentServiceImpl.java @@ -1,5 +1,7 @@ package com.nowait.applicationadmin.storepayment.service; +import java.util.Optional; + import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,7 +53,7 @@ public StorePaymentCreateResponse createStorePayment(StorePaymentCreateRequest r @Override @Transactional(readOnly = true) - public StorePaymentReadDto getStorePaymentByStoreId(MemberDetails memberDetails) { + public Optional getStorePaymentByStoreId(MemberDetails memberDetails) { if (memberDetails == null) throw new StorePaymentParamEmptyException(); User user = userRepository.findById(memberDetails.getId()).orElseThrow(UserNotFoundException::new); @@ -59,10 +61,9 @@ public StorePaymentReadDto getStorePaymentByStoreId(MemberDetails memberDetails) if (!Role.SUPER_ADMIN.equals(user.getRole()) && !user.getStoreId().equals(storeId)) { throw new StorePaymentViewUnauthorizedException(); } - StorePayment storePayment = storePaymentRepository.findByStoreId(storeId) - .orElseThrow(StorePaymentNotFoundException::new); - return StorePaymentReadDto.fromEntity(storePayment); + return storePaymentRepository.findByStoreId(storeId) + .map(StorePaymentReadDto::fromEntity); } @Override