Skip to content

[Refactor/#150] 학생회비 확인필요 상태를 REJECTED로 변경 - #154

Open
xeoxxn wants to merge 3 commits into
feat/#125-fee-admin-api-revisionfrom
refactor/#150-fee-rejected-status
Open

xeoxxn wants to merge 3 commits into
feat/#125-fee-admin-api-revisionfrom
refactor/#150-fee-rejected-status

Conversation

@xeoxxn

@xeoxxn xeoxxn commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

#️⃣연관된 이슈

🎯 해결하려는 문제가 무엇인가요?

학생회비 납부 상태 중 확인필요(NEEDS_CHECK)를 반려(REJECTED)로 이름만 바꿉니다. 동작은 그대로입니다.

❓ 왜 해결해야 하나요?

이어지는 #151에서 이 상태의 의미가 바뀝니다. 지금은 "학생은 문의만 할 수 있고, 운영진이 납부 전으로 되돌려야 다시 낼 수 있는" 상태인데, #151부터는 운영진이 돌려보내면 학생이 학기 인증부터 다시 납부합니다. 그 동작에는 "확인이 필요하다"보다 "반려됐다"가 맞습니다.

이름 변경만 따로 뺀 이유: 상수 하나가 도메인 · 응답 · UseCase · Swagger에 흩어져 있어서, #151의 동작 변경과 섞이면 리뷰할 때 진짜 바뀐 규칙이 묻힙니다.

⭐ 어떻게 해결했나요?

  • TransferStatus.NEEDS_CHECK → REJECTED. 화면 표기는 계속 "확인필요"라 enum에 그 대응을 주석으로 남겼습니다
  • 참조 코드 4곳: StudentTransferStatus.review, FeeResponse(2곳), AdminFeeReviewUseCase.validateAdminNote
  • V23__rename_needs_check_to_rejected.sql — 기존 NEEDS_CHECK 행을 REJECTED로 UPDATE
  • Swagger @Schema 예시, AdminFeeApi 설명, 주석 2곳

🧩 이 PR의 한계 & 트레이드오프

  • 동작 설명 문장은 그대로 뒀습니다. "확인필요 학생은 직접 재제출할 수 없다" 같은 문장은 이 PR에선 동작이 그대로라 아직 맞는 말입니다. #151에서 동작과 함께 고칩니다
  • V20 주석의 NEEDS_CHECK는 [Feat/#123] 학생회비 납부 사용자 API 개편 #124 소관이고, 그 시점 기준으로 맞는 설명이라 두었습니다
  • 로컬 검증 범위: compileJava, ModularityTests · DomainImplAccessTests 통과. 회비 쪽 단위 테스트는 원래 없습니다. V23은 MySQL 8.4 컨테이너(ItemOptimisticLockTest — MySqlJpaTest 상속)에서 Flyway로 적용되는 것까지 확인했습니다 ([Refactor/#152] 학생회비 납부 요청을 이력으로 쌓기 #156 검증 때 V26까지 함께 적용)

⛓️ 기존 기능에 미치는 영향

  • 관리자 API의 상태 문자열이 바뀝니다. PATCH /v1/admin/fee/requests/{studentTransferStatusId}의 status, GET /v1/admin/fee/requests의 status 필터, 두 응답의 상태 값이 NEEDS_CHECK → REJECTED입니다. 관리자 프론트가 NEEDS_CHECK를 보내면 400(INVALID_TRANSFER_STATUS)이 나므로 배포 순서를 프론트와 맞춰야 합니다
  • 학생 앱 GET /v1/app/fee/me의 feeStatus도 같은 값이 REJECTED로 내려갑니다
  • 그 외 동작 변화는 없습니다

🔀 Edge Case & 실패 시나리오

상황 동작
이미 NEEDS_CHECK로 저장된 행 V23이 REJECTED로 바꿉니다
배포 후 구버전 클라이언트가 NEEDS_CHECK를 보냄 400 INVALID_TRANSFER_STATUS
마이그레이션 번호 V22를 #139(열린피드백)가 씁니다. 이 스택이 먼저 머지되면 번호를 다시 맞춰야 합니다

📋 검토한 대안과 선택 이유

  • #151에 합치기: 리뷰 단위가 커지고, 이름 변경 diff가 규칙 변경을 가립니다
  • 화면 표기에 맞춰 NEEDS_CHECK 유지: #151부터 이 상태가 "다시 내라"는 뜻이 되는데, 이름이 "확인이 필요하다"면 코드를 읽는 사람이 동작을 오해합니다

💬 리뷰 포인트

  • [c] 화면 표기("확인필요")와 enum 이름(REJECTED)이 달라집니다. enum 주석으로 대응을 남겼는데 이걸로 충분한지

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: billilge/stream-server/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7b9226ee-29ba-4999-8794-7fcfb6c2487d
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

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.

학생회비 납부 확인필요 상태를 REJECTED로 변경

1 participant