Skip to content

#101 [Feat] 배틀 API 고도화, 성능 최적화, 홈 이미지 오류 해결#102

Merged
jucheonsu merged 3 commits intodevfrom
feat/#101
Mar 31, 2026
Merged

#101 [Feat] 배틀 API 고도화, 성능 최적화, 홈 이미지 오류 해결#102
jucheonsu merged 3 commits intodevfrom
feat/#101

Conversation

@jucheonsu
Copy link
Copy Markdown
Member

#️⃣ 연관된 이슈

📌 공유 사항

  1. BattleUserDetailResponseuserVoteStatus 타입이 String → VoteSide(PRO/CON/null)로 변경되었습니다.
  2. GET /battles/{battleId}/status 경량 API가 새로 추가되었습니다.
    진행 단계(step)만 빠르게 확인할 때 사용 가능합니다.
  3. GET /battles/{battleId}/scenario 시나리오 통합 API가 추가되었습니다.
    기존 ScenarioControllergetBattleScenarioBattleService와 통합되어
    title philosophers nodes를 한 번에 응답합니다.
  4. HomeService 이미지 URLPresigned URL 이중 래핑에서 직접 반환 방식으로 변경되었습니다.

✅ 체크리스트

  • Reviewer에 팀원들을 선택했나요?
  • Assignees에 본인을 선택했나요?
  • 컨벤션에 맞는 Type을 선택했나요?
  • Development에 이슈를 연동했나요?
  • Merge 하려는 브랜치가 올바르게 설정되어 있나요?
  • 컨벤션을 지키고 있나요?
  • 로컬에서 실행했을 때 에러가 발생하지 않나요?
  • 팀원들에게 PR 링크 공유를 했나요?

📸 스크린샷

홈 화면 조회 API

홈 화면 조회 API

배틀 상세 조회 API

배틀 상세 조회 API

오늘의 배틀 조회 API

오늘의 배틀 조회 API

사용자 배틀 진행 상태 API

사용자 배틀 진행 상태 조회 API

사전 투표 API

사전 투표 API

배틀 시나리오 대본 통합 조회 API

배틀 시나리오 대본 통합 조회 API

💬 리뷰 요구사항

없음

📝 작업 내용

✨ Feat

내용 파일
BattleUserDetailResponseuserVoteStatus(VoteSide), currentStep 필드 추가 BattleUserDetailResponse.java
BattleScenarioResponse DTO 신규 생성 BattleScenarioResponse.java
BattleServicegetBattleScenario, getUserBattleStatus 메서드 추가 BattleService.java
BattleControllerGET /{battleId}/status 경량 API 추가 BattleController.java
ScenarioController에서 배틀 title philosophers 병합 처리 ScenarioController.java
UserScenarioResponsephilosophers 필드 추가 및 toBuilder 적용 UserScenarioResponse.java

♻️ Refactor

내용 파일
BattleConverter optionTagsMap 파라미터 방식 전환 및 BattleOptionTagRepository 의존성 제거 BattleConverter.java
BattleServiceImpl getBattleDetail N+1 해결 - findByBattleWithTags 배치 조회 적용 BattleServiceImpl.java
BattleServiceImpl createBattle updateBattle optionTagsMap 배치 조회 적용 BattleServiceImpl.java
BattleUserDetailResponse userVoteStatus 타입 String → VoteSide 변경 BattleUserDetailResponse.java
HomeService toEditorPick toTrending toNewBattle Presigned URL 이중 래핑 제거 HomeService.java
ScenarioController BattleService 의존성 제거 및 단독 조회 복원 ScenarioController.java

🐛 Fix

내용 파일
VoteRepository findByBattleIdAndUserIdWithOption 추가 - postVoteOption LEFT JOIN FETCH VoteRepository.java
BattleOptionTagRepository findByBattleWithTags 배치 조회 쿼리 추가 BattleOptionTagRepository.java

@jucheonsu jucheonsu self-assigned this Mar 31, 2026
@jucheonsu jucheonsu added the ✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다. label Mar 31, 2026
@jucheonsu jucheonsu linked an issue Mar 31, 2026 that may be closed by this pull request
5 tasks
Copy link
Copy Markdown
Contributor

@HYH0804 HYH0804 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨어요

@jucheonsu jucheonsu merged commit abf8e38 into dev Mar 31, 2026
@jucheonsu jucheonsu deleted the feat/#101 branch March 31, 2026 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feat (기능 추가) 새로운 기능을 추가할 때 사용합니다.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ Feat: 배틀 API 고도화, 성능 최적화, 홈 이미지 오류 해결

2 participants