-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* feat: 축제 상세 정보 조회 응답 dto 정의 * feat: 축제 상세 조회 기능 구현 * feat: 축제 상세 조회 Api 구현 * test: 축제 상세 조회 기능 통합 테스트 * feat: 축제 상세 정보 조회시 무대 시작 시간 기반으로 무대 정보 정렬 * style: 변수명 타입 통일화 * refactor: 무대 상세 조회 fetch join 적용
- Loading branch information
1 parent
cd783f1
commit 3f08752
Showing
12 changed files
with
262 additions
and
10 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
12 changes: 12 additions & 0 deletions
12
backend/src/main/java/com/festago/domain/StageRepository.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,19 @@ | ||
package com.festago.domain; | ||
|
||
import java.util.List; | ||
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.data.jpa.repository.Query; | ||
import org.springframework.data.repository.query.Param; | ||
|
||
public interface StageRepository extends JpaRepository<Stage, Long> { | ||
|
||
List<Stage> findAllByFestival(Festival festival); | ||
|
||
@Query(""" | ||
SELECT s FROM Stage s | ||
JOIN FETCH s.tickets t | ||
JOIN FETCH t.ticketAmount | ||
WHERE s.festival.id = :festivalId | ||
""") | ||
List<Stage> findAllDetailByFestivalId(@Param("festivalId") Long festivalId); | ||
} |
This file contains 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
28 changes: 28 additions & 0 deletions
28
backend/src/main/java/com/festago/dto/FestivalDetailResponse.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package com.festago.dto; | ||
|
||
import com.festago.domain.Festival; | ||
import com.festago.domain.Stage; | ||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
public record FestivalDetailResponse(Long id, | ||
String name, | ||
LocalDate startDate, | ||
LocalDate endDate, | ||
String thumbnail, | ||
List<FestivalDetailStageResponse> stages) { | ||
|
||
public static FestivalDetailResponse of(Festival festival, List<Stage> stages) { | ||
List<FestivalDetailStageResponse> stageResponses = stages.stream() | ||
.map(FestivalDetailStageResponse::from) | ||
.toList(); | ||
return new FestivalDetailResponse( | ||
festival.getId(), | ||
festival.getName(), | ||
festival.getStartDate(), | ||
festival.getEndDate(), | ||
festival.getThumbnail(), | ||
stageResponses | ||
); | ||
} | ||
} |
25 changes: 25 additions & 0 deletions
25
backend/src/main/java/com/festago/dto/FestivalDetailStageResponse.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.festago.dto; | ||
|
||
import com.festago.domain.Stage; | ||
import java.time.LocalDateTime; | ||
import java.util.List; | ||
|
||
public record FestivalDetailStageResponse(Long id, | ||
LocalDateTime startDate, | ||
LocalDateTime ticketOpenTime, | ||
String lineUp, | ||
List<FestivalDetailTicketResponse> tickets) { | ||
|
||
public static FestivalDetailStageResponse from(Stage stage) { | ||
List<FestivalDetailTicketResponse> tickets = stage.getTickets().stream() | ||
.map(FestivalDetailTicketResponse::from) | ||
.toList(); | ||
return new FestivalDetailStageResponse( | ||
stage.getId(), | ||
stage.getStartTime(), | ||
stage.getTicketOpenTime(), | ||
stage.getLineUp(), | ||
tickets | ||
); | ||
} | ||
} |
21 changes: 21 additions & 0 deletions
21
backend/src/main/java/com/festago/dto/FestivalDetailTicketResponse.java
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
package com.festago.dto; | ||
|
||
import com.festago.domain.Ticket; | ||
import com.festago.domain.TicketAmount; | ||
import com.festago.domain.TicketType; | ||
|
||
public record FestivalDetailTicketResponse(Long id, | ||
TicketType ticketType, | ||
Integer totalAmount, | ||
Integer remainAmount) { | ||
|
||
public static FestivalDetailTicketResponse from(Ticket ticket) { | ||
TicketAmount ticketAmount = ticket.getTicketAmount(); | ||
return new FestivalDetailTicketResponse( | ||
ticket.getId(), | ||
ticket.getTicketType(), | ||
ticketAmount.getTotalAmount(), | ||
ticketAmount.calculateRemainAmount() | ||
); | ||
} | ||
} |
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.