Skip to content

fix(challenge): 신규 유저 도전과제 빈 리스트 버그 수정#138

Open
windragon0807 wants to merge 1 commit into
mainfrom
ryong
Open

fix(challenge): 신규 유저 도전과제 빈 리스트 버그 수정#138
windragon0807 wants to merge 1 commit into
mainfrom
ryong

Conversation

@windragon0807

Copy link
Copy Markdown
Contributor
  • 쿼리 base를 tb_users_challenges → tb_challenge_stages로 전환 · LEFT JOIN으로 진척도만 부착, 신규 유저도 마스터 도전과제 노출 · ORDER BY tie-breaker 추가 + .distinct()로 페이징 결정성 확보 · EXISTS 서브쿼리에서 PK 직접 비교로 인덱스 활용
  • 회원가입 이벤트 기반 초기화 로직 제거 (self-invocation으로 깨져있던 코드)
  • UserChallengeInitializer 신규: 첫 진척 액션 시 lazy-create
  • publishChallengeCheck/publishBulkChallengeCheck에 @transactional 추가
  • GeneralChallengeDto에 (ChallengeStage, UserChallenge) null-safe 생성자
  • ChallengeService.getRepetitiveChallengeDetail에서 빈 Map 가드 제거
  • ChallengeApiTest에 신규 유저 시나리오 테스트 추가

설명

{{replace this}}

연관된 이슈: #{{이슈 번호}}

변경사항

{{replace this}}

변경의 종류 (여러 가지 선택 가능)

  • 버그 수정
  • 새로운 기능
  • 대규모 변경
  • 문서 업데이트
  • 기타 {{여기에 설명을 추가해 주세요}}

Author 체크리스트

  • 테스트를 통과했나요?
  • 컴파일 가능한가요?
  • PR 하기 전에 코드를 다시 한번 살펴보셨나요?
  • 이해하기 힘든 부분에 주석을 달아 두셨나요?
  • 바뀐 부분에 대해 문서화도 새로 하셨나요? (머지 하면서 컨플 API 문서에 반영하기)
  • PR이 새로운 컴파일 경고를 추가하는지 확인하셨나요?
  • 변경사항을 검증할 수 있는 테스트를 추가하고 실행하셨나요?

Reviewer 체크리스트

  • 주석화 된 Code는 주석화 된 이유에 대해서 명시되어 있는가?
  • 함수의 Parameter는 유효한 값을 가지고 있는가?
  • 사용되는 변수들은 상황에 맞게 적절하게 선언되어 있는가?
  • 변수들이 사용되기 전에 초기화되어 있는가?
  • 계산에 사용되는 변수의 Data Type이 올바른가?
  • 예외 처리가 잘 되어 있는가?
  • 코드가 무한 루프에 빠지는 상황은 없는가?
  • 발견된 버그는 모두 올바르게 수정되었는가?

- 쿼리 base를 tb_users_challenges → tb_challenge_stages로 전환
  · LEFT JOIN으로 진척도만 부착, 신규 유저도 마스터 도전과제 노출
  · ORDER BY tie-breaker 추가 + .distinct()로 페이징 결정성 확보
  · EXISTS 서브쿼리에서 PK 직접 비교로 인덱스 활용
- 회원가입 이벤트 기반 초기화 로직 제거 (self-invocation으로 깨져있던 코드)
- UserChallengeInitializer 신규: 첫 진척 액션 시 lazy-create
- publishChallengeCheck/publishBulkChallengeCheck에 @transactional 추가
- GeneralChallengeDto에 (ChallengeStage, UserChallenge) null-safe 생성자
- ChallengeService.getRepetitiveChallengeDetail에서 빈 Map 가드 제거
- ChallengeApiTest에 신규 유저 시나리오 테스트 추가

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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