From b650ae8fa8067bd4bfac6202c41c0fc315bc04ec Mon Sep 17 00:00:00 2001 From: Jihun Kim Date: Sun, 3 Aug 2025 18:29:17 +0900 Subject: [PATCH] =?UTF-8?q?refactor(storePayment):=20=EC=96=B4=EB=93=9C?= =?UTF-8?q?=EB=AF=BC=20=EA=B2=B0=EC=A0=9C=EC=88=98=EB=8B=A8=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=9D=91=EB=8B=B5=EA=B0=92=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StorePaymentController.java | 29 ++++++++++++++----- .../service/StorePaymentService.java | 4 ++- .../service/StorePaymentServiceImpl.java | 9 +++--- 3 files changed, 30 insertions(+), 12 deletions(-) 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