feat: 크리스탈 도메인 구현 및 Testcontainers 기반 테스트 인프라 도입 #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 요약(Summary)
크리스탈 도메인 구현
user_wallets,crystal_logs테이블 생성 및 Flyway DDL sql 파일 작성UserWallet,CrystalLog엔티티 구현UserWallet초기화 추가, 기존 유저들의user_wallets테이블을 백필NotEnoughCrystalException예외 클래스 구현Testcontainers 기반 테스트 인프라 도입
PR 테스트 워크플로우 스크립트 추가
🔗 Related Issue
💬 공유사항
리포트 생성 시에 어느정도 시간이 소요되기 때문에
리포트 생성과 크리스탈 차감을 하나의 트랜잭션으로 묶으면
DB 커넥션 점유/락 경합/타임아웃/스루풋 저하 등의 여러 문제가 발생할 수 있습니다.
따라서
PENDING report 생성 + 선차감 + 로그(PENDING)까지 한 번에이러한 흐름으로 리포트 생성이 이루어져야 합니다.
이에 관해서는 가까운 시일 내에 구현할 오늘의 리포트 api의 실제 코드 예시를 참고하시면 될 것 같습니다.
✅ PR Checklist
PR이 다음 요구 사항을 충족하는지 확인하세요.