Dev#56
Merged
Merged
Conversation
* feat : reservation 엔티티 및 vo 설정 - ReservationCandidate과 Reservation의 엔티티 설정 및 관련 vo 작성 - 관련 에러 코드 ReservationErrorCode에 작성 완료 * fix : reservation,ReservationCandidate 엔티티 변경 - PENDING가 아니라면 어떠한 상태 변경도 금지 - 낙관적 락을 위한 버전 추가(추후 분산 락으로 수정 할 필요 있는지 고민 필요) - ReservationCandidate에 생성,선정,취소시 검증 로직 추가 * fix : reservation 엔티티 변경 - cancelInfo필드 삭제(추후 reservation_history 부분 추가시 해당 테이블에 작성 예정 * fix : reservation,reservationCandidate 검증 로직 변경 - reservationCandidate에서 후보자 선정시 검증 로직 추가 - reservation에서 예약 생성시 검증 로직 추가 - reservation에서 순번 구매자 교체시 검증 로직 추가 * fix : reservation 검증 로직 변경 - 예약 후보자에 get,add,remove부분 추가하여 양뱡향 동기화 작업 설정 - 다음 순번자 교체시 검사 로직 부분 추가 * fix : reservation 누락 부분 추가
* feat: 예약 생성 기능 생성 * fix : coderabbitai 코멘트 보안 - ReservationRepositoryImpl 부분 추가 - userId 부분 string -> uuid로 수정 - ReservationResponse에서 ReservationCreateResult를 받아오도록 수정 - ReservationDomainService에서 검증 로직은 분리 * fix : coderabbitai 코멘트 보안 - ReservationValidator에서 id값이 null이 아닌지 체크하도록 수정
* fix : 예약 검색 기능 추가 및 빌드 파일 제거 * Update src/main/java/org/pgsg/reservation/infrastructure/repository/ReservationRepositoryImpl.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Refactor product, seller, and buyer name retrieval --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
- ReservationCandidateStatus 와 ReservationStatus 내용 반대로 변경 - 결재 완료 paid 상태 추가 및 검증 로직 작성
예약 상태 세분화
* feat : 예약 검색 기능 추가 (#6) * fix : 예약 검색 기능 추가 및 빌드 파일 제거 * Update src/main/java/org/pgsg/reservation/infrastructure/repository/ReservationRepositoryImpl.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Refactor product, seller, and buyer name retrieval --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix : 상태 파일 추가 및 변경 - ReservationCandidateStatus 와 ReservationStatus 내용 반대로 변경 - 결재 완료 paid 상태 추가 및 검증 로직 작성 * feat : 상세 검색 기능 추가 - common 파일 업데이트 * feat : 상세 검색 기능 추가 - common 파일 업데이트 * fix : 버그 수정 - common 파일 업데이트 - common에 build.gradle에서 annotationProcessor 'io.github.openfeign.querydsl:querydsl-apt:6.8:jpa' 추가 * fix : 코드 래빗 제안 수정 - 도메인이 application에 dto 의존 변경 - 검색에서 trim한 값 사용 - response 필드명 불일치 수정 * fix : 코드 래빗 제안 수정 - 권한 검증 로직 추가 * fix : 코드 래빗 제안 수정 - 권한 검증 로직 추가 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fit : 상태 pr 다시 추가 * feat : 예약 신청 기능 추가 - 예약 신청 및 후보자 저장 - 도메인 서비스에서 첫 번째 후보자라면 바로 저장 * fix : 오타 수정 * fix : 코드 래빗 수정 사항 반영 - saveAndFlush()를 사용하여 dto 매핑 전 id 생성 보장 * fix : 코드 래빗 수정 사항 반영 - 엔티티 유니크 제약 조건 변경 candidateNickname -> candidateId * fix : 코드 래빗 수정 사항 반영 - 첫번째 후보자인지 확인하는 로직 추가 * fix : 코드 래빗 수정 사항 반영 - 예약 신청 X-User-Nickname로 이름 변경 * fix : 현빈님 제안 사항 반영 - cancel부분에 데이터 일관성을 위해 후보 리스트 제거 로직 반영 * fix : 코드래빗 제안 사항 반영 - 레이스 컨디션 문제 해결 로직 작성 * fix : 코드래빗 제안 사항 반영 - 레이스 컨디션 문제 해결 로직 작성
* feat : reservationhistory vo 및 엔티티 추가 * feat : 예약 취소 기능 구현 - 판매자,구매자에 따라 상품 상태 변경 - 뭐가 되든 간에 예약 관리 작성 - infrastructure Reservation폴더 분리 * Update src/main/java/org/pgsg/reservation/domain/model/reservationhistory/ReservationHistory.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update src/main/java/org/pgsg/reservation/domain/model/reservationhistory/ReservationHistory.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * fix : 코드 래빗 제안 수정 - 대기자가 없으면 예약이 다시 안열리는 문제 수정 * fix : 코드 래빗 제안 수정 - NPE 방어 로직 작성 * fix : 코드 래빗 제안 수정 - 취소 사유 검증 로직 추가 * fix : 구매자,판매자 로직 분리 * fix : 코드래빗 제안 수정 - ReservationCancelInfo로 파라미터 타입 명시 --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* feat : 예약 만료 - 예약 만료 구현 - 관리자만 수정이 가능하도록 작성 * feat : 예약 만료 자동 스케줄링 - ReservationStatus가 PENDING,PAID으로 업데이트 된 이후 상태가 변경이 없다면 1시간 후 자동 상태 변경 * fix : 코드래빗 제안 사안 수정 - 사유 누락 확인 및 관리자 전용 제약을 도메인에서 명시적으로 강제 * fix : 코드래빗 제안 사안 수정 - 사용되지 않고 존재하지 않는 필드를 참조하는 메서드 삭제 * fix : 코드래빗 제안 사안 수정 - 대상 건수가 많아지면 락 유지 시간/메모리 부담으로 인하여 서비스 계층에서 건별 트랜잭션 처리 - 지연 로딩 에러해결을 위해 해당 조회 메서드에만 readOnly = true 트랜잭션 처리 * fix : 코드래빗 제안 사안 수정 - 입력 누락 시 전체 조회로 확장되는 경로를 차단 - PAID를 명시 분기하고 나머지는 예외 처리
* feat : 예약 만료 구현 - 예약 만료 기능 구현 * fix : 코드래빗 제안 수정 - 권한 검증 로직 추가
- 유레카 서버 아직 작동전으로 추후 yml파일 설정 변경 필요
* Feat : Kafka 설정 및 예약 완료 부분 작성 * Feat : Kafka docker 연동 * Fix : 카프카 이벤트 발송 확인 * Fix : 현빈님 제안 사항 수정 - OutboxEvent 추가 - common파일 github에서 연결 * Fix : RequestHeader로 통일 * Fix : 코드 래빗 제안 수정 - SSL 인증서 ro로 변경(읽기 전용) * Fix : kafka 발송 확인 * Fix : 코드래빗 제안 수정
* Feat : 예약 생성 개념 변경 - 기존 예약 생성 삭제 및 리뉴얼 * Fix : 데이터 저장 오류 수정 * Fix : 코드래빗 제안 수정 - non-root 사용자를 추가 * Fix : 코드래빗 제안 수정 - 중복 체크와 저장이 원자적이지 않아 동시 요청에서 중복 생성 문제 해결 * Fix : 코드래빗 제안 수정 - 중복 이벤트 처리 * Fix : 코드래빗 제안 수정 - 중복 생성 방지 처리 * Fix : 코드래빗 제안 수정 - endTime은 null을 불가처리
* Feat : 결제 완료 기능 추가 - 결재 완료 상태로 변경 * fix : 코드 래빗 제안 수정 - 멱등성 처리 추가 * fix : 코드 래빗 제안 수정 - SYSTEM도 가능하게 수정
* refactor : 컨트롤러 응답 통일화 * refactor : ReservationCreateCommand 수정 * refactor : confirmPayment에서 에러시 id값만 보이게 수정 * refactor : confirmTrade command로 받게 수정 * refactor : role -> roles로 변경
* Feat : Redisson 기반의 분산 락 설정 * fix : 코드래빗 제안 수정 - Watchdog 기능 설정 * fix : 코드래빗 제안 수정 - 입력 누락 값 수정
Added detailed project description, features, tech stack, setup instructions, and API documentation.
Contributor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (10)
📒 Files selected for processing (90)
📝 Walkthrough워크스루예약 서비스의 전체 구현으로, 도메인 모델부터 REST API, 이벤트 처리, 배포 자동화까지 완전한 기능을 추가합니다. 예약 생성, 후보자 관리, 상태 전환(결제, 완료, 취소), 분산 락 기반 동시성 제어, Kafka 기반 이벤트 발행/구독, Redis 캐싱이 포함됩니다. 변경사항예약 서비스 핵심 기능
배포 및 인프라 설정
설정 및 문서
🎯 4 (Complex) | ⏱️ ~60 minutes관련 PR
제안 레이블
제안 검토자HyeonBin2379 시
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 by CodeRabbit
릴리스 노트
New Features
Infrastructure
Documentation