Skip to content

(feature) : 입금 확인 요청 상태 표시명 추가#59

Merged
sudhdkso merged 1 commit into
developfrom
fix/payment-request-settlement-detail
May 31, 2026
Merged

(feature) : 입금 확인 요청 상태 표시명 추가#59
sudhdkso merged 1 commit into
developfrom
fix/payment-request-settlement-detail

Conversation

@sudhdkso
Copy link
Copy Markdown
Contributor

@sudhdkso sudhdkso commented May 31, 2026

#️⃣연관된 이슈

X

🔀반영 브랜치

fix/payment-request-settlement-detail -> develop

🔧변경 사항

  • 입금 확인 요청 상태에 한글 표시명을 추가했습니다.
  • 정산 상세 및 멤버별 정산내역 응답에 최신 입금 확인 요청 상태와 표시명을 추가했습니다.
  • 입금 확인 요청 응답에 상태 표시명을 추가했습니다.
  • 관련 컨트롤러 및 서비스 테스트를 수정했습니다.

💬리뷰 요구사항(선택)

X

Summary by CodeRabbit

주요 변경 사항

  • 새로운 기능
    • 입금 확인 요청 상태에 한글 레이블 표시 (확인중, 승인완료, 거절)
    • 정산 상세 및 회원 비용 목록에서 입금 확인 요청의 상태와 상태 레이블 정보 표시
    • 회원별 최신 입금 확인 요청 정보 조회 기능 개선

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 31, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 335df5d7-7fc4-4459-a518-e642d0f0b331

📥 Commits

Reviewing files that changed from the base of the PR and between 8d41233 and 662315c.

📒 Files selected for processing (16)
  • src/main/java/com/dnd/moddo/event/application/impl/PaymentRequestReader.java
  • src/main/java/com/dnd/moddo/event/application/query/QueryMemberExpenseService.java
  • src/main/java/com/dnd/moddo/event/application/query/QuerySettlementService.java
  • src/main/java/com/dnd/moddo/event/domain/paymentRequest/PaymentRequestStatus.java
  • src/main/java/com/dnd/moddo/event/infrastructure/PaymentRequestRepository.java
  • src/main/java/com/dnd/moddo/event/presentation/response/MemberExpenseItemResponse.java
  • src/main/java/com/dnd/moddo/event/presentation/response/PaymentRequestResponse.java
  • src/main/java/com/dnd/moddo/event/presentation/response/PaymentRequestSummaryResponse.java
  • src/main/java/com/dnd/moddo/event/presentation/response/SettlementDetailResponse.java
  • src/main/java/com/dnd/moddo/event/presentation/response/SettlementMemberResponse.java
  • src/test/java/com/dnd/moddo/domain/memberExpense/controller/MemberExpenseControllerTest.java
  • src/test/java/com/dnd/moddo/domain/memberExpense/service/QueryMemberExpenseServiceTest.java
  • src/test/java/com/dnd/moddo/domain/paymentRequest/controller/PaymentRequestControllerTest.java
  • src/test/java/com/dnd/moddo/domain/paymentRequest/service/implementation/PaymentRequestReaderTest.java
  • src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java
  • src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java

Walkthrough

이 PR은 결제요청 상태에 한국어 라벨을 추가하고, 대기 중(pending) 요청 ID 조회 대신 최신 승인 요청 정보를 조회하는 새로운 기능을 도입합니다. PaymentRequestStatus 열거형, 저장소 쿼리, 리더 메서드를 확장하고, 모든 응답 객체와 서비스를 이에 맞춰 수정하며 전체 흐름을 테스트로 검증합니다.

Changes

결제요청 상태 라벨 및 최신 요청 조회

Layer / File(s) Summary
Domain Model: 결제요청 상태 라벨 추가
src/main/java/com/dnd/moddo/event/domain/paymentRequest/PaymentRequestStatus.java
PaymentRequestStatus 열거형 상수가 라벨을 포함하도록 확장되며, Lombok @Getter를 사용하여 PENDING("확인중"), APPROVED("승인완료"), REJECTED("거절")의 라벨을 노출합니다.
Repository & Reader: 최신 요청 조회 메서드 추가
src/main/java/com/dnd/moddo/event/infrastructure/PaymentRequestRepository.java, src/main/java/com/dnd/moddo/event/application/impl/PaymentRequestReader.java
PaymentRequestRepository에 settlementId 기준 최신순 조회 메서드를 추가하고, PaymentRequestReader에서 이를 활용하여 요청 멤버별 최신 PaymentRequestSummaryResponse를 매핑합니다. 기존 findPendingRequestIdByMemberId 메서드는 제거됩니다.
Response Contract: 요청 요약 응답 및 상태 라벨 확장
src/main/java/com/dnd/moddo/event/presentation/response/PaymentRequestSummaryResponse.java, src/main/java/com/dnd/moddo/event/presentation/response/PaymentRequestResponse.java, src/main/java/com/dnd/moddo/event/presentation/response/MemberExpenseItemResponse.java, src/main/java/com/dnd/moddo/event/presentation/response/SettlementDetailResponse.java, src/main/java/com/dnd/moddo/event/presentation/response/SettlementMemberResponse.java
새로운 PaymentRequestSummaryResponse 레코드를 도입하고, 기존 응답 객체들을 확장하여 paymentRequestStatus와 paymentRequestStatusLabel을 포함시킵니다. 맵 타입이 변경되어 리스트 형태의 요청 정보를 매핑합니다.
Service Integration: 서비스 계층 업데이트
src/main/java/com/dnd/moddo/event/application/query/QueryMemberExpenseService.java, src/main/java/com/dnd/moddo/event/application/query/QuerySettlementService.java
QueryMemberExpenseService와 QuerySettlementService에서 findLatestRequestByMemberId를 호출하도록 변경하고, 반환된 PaymentRequestSummaryResponse 맵을 응답 생성 시 전달합니다.
PaymentRequestReader Unit Tests
src/test/java/com/dnd/moddo/domain/paymentRequest/service/implementation/PaymentRequestReaderTest.java
새로운 findLatestRequestByMemberId 메서드를 검증하고, 여러 요청이 있을 때 최신 requestedAt 기준 항목이 선택되는지 확인합니다.
PaymentRequest Controller Tests
src/test/java/com/dnd/moddo/domain/paymentRequest/controller/PaymentRequestControllerTest.java
createPaymentRequest, approvePaymentRequest, rejectPaymentRequest 엔드포인트의 응답에서 statusLabel 필드가 정상 반환되고, REST Docs 문서화에 포함되는지 검증합니다.
QueryMemberExpenseService & Controller Tests
src/test/java/com/dnd/moddo/domain/memberExpense/service/QueryMemberExpenseServiceTest.java, src/test/java/com/dnd/moddo/domain/memberExpense/controller/MemberExpenseControllerTest.java
findLatestRequestByMemberId 호출로 변경된 스텁 설정과 paymentRequestStatus, paymentRequestStatusLabel 값의 정상 매핑을 검증합니다.
QuerySettlementService & Controller Tests
src/test/java/com/dnd/moddo/domain/settlement/service/QuerySettlementServiceTest.java, src/test/java/com/dnd/moddo/domain/settlement/controller/SettlementControllerTest.java
findLatestRequestByMemberId 스텁 반환 타입 변경에 따른 응답 검증과 REST Docs 업데이트를 확인합니다.

Sequence Diagram

sequenceDiagram
  participant Client
  participant Controller as Controller
  participant Service as Service
  participant Reader as PaymentRequestReader
  participant Repository as PaymentRequestRepository
  Client->>Controller: Settlement or expense detail query
  Controller->>Service: findOne or findMemberExpenseDetailsBySettlementId
  Service->>Reader: findLatestRequestByMemberId(settlementId)
  Reader->>Repository: findBySettlementIdOrderByRequestedAtDesc
  Repository-->>Reader: List of PaymentRequest sorted by requestedAt
  Reader-->>Service: Map of PaymentRequestSummaryResponse by memberId
  Service->>Service: Build response with status and label
  Service-->>Controller: Response with payment request status
  Controller-->>Client: JSON with status and statusLabel fields
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • moddo-kr/moddo-backend#57: QueryMemberExpenseService와 MemberExpenseItemResponse의 결제요청 매핑을 PaymentRequestSummaryResponse로 변경하는 동일한 영역의 리팩토링을 포함합니다.
  • moddo-kr/moddo-backend#51: QuerySettlementService와 SettlementDetailResponse의 결제요청 조회를 Map 타입 변경으로 기초 작업입니다.
  • moddo-kr/moddo-backend#32: PaymentRequestReader와 결제요청 응답 API 기반 구조를 도입한 선행 PR입니다.

Poem

🐰 상태엔 이제 라벨이 함께,
"확인중"에서 "승인완료"로의 여정,
최신 요청만 쏙 뽑아 요약하고,
멤버별로 깔끔하게 정렬하니,
결제 흐름이 한층 명확해졌어! 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경의 핵심 내용을 명확하게 요약하고 있습니다. '입금 확인 요청 상태 표시명 추가'는 주요 변경사항인 PaymentRequestStatus에 한글 라벨 추가 및 이를 응답에 포함하는 작업을 정확히 반영합니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/payment-request-settlement-detail

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

📝 테스트 커버리지 리포트입니다!

File Coverage [95.1%] 🍏
PaymentRequestStatus.java 100% 🍏
QueryMemberExpenseService.java 99.02% 🍏
PaymentRequestReader.java 98.06% 🍏
QuerySettlementService.java 85.27% 🍏
Total Project Coverage 71.42%

@sudhdkso sudhdkso merged commit b3ee018 into develop May 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant