Skip to content

[Concerts] 공연 목록 조회, 공연 상세 조회, 공연 예매처 조회 추가#54

Merged
Creamcheesepie merged 4 commits into
mainfrom
feat/#42
Dec 15, 2025
Merged

[Concerts] 공연 목록 조회, 공연 상세 조회, 공연 예매처 조회 추가#54
Creamcheesepie merged 4 commits into
mainfrom
feat/#42

Conversation

@Creamcheesepie
Copy link
Copy Markdown
Collaborator

🔗 관련 이슈

관련된 이슈 번호를 연결해주세요.
Close #이슈번호 를 쓰면 PR merge 시 자동으로 close 됩니다.

🚀 PR 개요

이 PR이 어떤 변경을 포함하고 있는지 간단히 설명해주세요.

  • 공연 목록조회를 추가하였습니다.
  • 공연 상세 조회를 추가하였습니다.
  • 공연 예매처 조회를 추가하였습니다.

📌 변경 사항

주요 변경 내용을 체크리스트 형태로 정리해주세요.

  • 기능 추가
  • 버그 수정
  • 리팩터링
  • 문서 업데이트
  • 테스트 추가/수정

🧪 테스트 방법

변경된 내용을 어떻게 테스트했는지 구체적으로 적어주세요.

  1. 테스트를 어떻게 해야 할 지 고민입니다....

📸 스크린샷 (선택)

UI 변경 또는 시각적으로 확인할 수 있는 변경이 있다면 첨부해주세요.

다가오는 콘서트 목록 조회

스크린샷 2025-12-12 오후 5 27 07

콘서트 목록 조회

스크린샷 2025-12-12 오후 5 27 47

콘서트 예매처 조회

스크린샷 2025-12-12 오후 5 28 26

콘서트 상세 조회

스크린샷 2025-12-12 오후 5 28 54

⚠️ 참고 사항

리뷰어가 알아야 할 사항이 있다면 자유롭게 작성해주세요.

  • 조회 기준으로 뭔가 더 상세하게 할 게 있으면 알려주세요.
  • service 로직으로 처리하려니 N+1 문제가 많이 발생해서 그냥 @query로 처리했습니다.

@Creamcheesepie Creamcheesepie self-assigned this Dec 12, 2025
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 12, 2025

Test Results

1 tests  ±0   1 ✅ ±0   0s ⏱️ ±0s
1 suites ±0   0 💤 ±0 
1 files   ±0   0 ❌ ±0 

Results for commit ac02b40. ± Comparison against base commit 7513b96.

♻️ This comment has been updated with latest results.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Dec 12, 2025

⭐ JaCoCo Coverage

Line Coverage: 10.66%

📄 Coverage Details

Overall Line Coverage: 10.57% (76 covered / 719 lines)

Package Summary (lowest first)
Package Line % Covered Missed
com/back/web7_9_codecrete_be/domain/chats/controller 0.00% 0 0
com/back/web7_9_codecrete_be/domain/location/service 0.00% 0 0
com/back/web7_9_codecrete_be/domain/chats/service 0.00% 0 0
com/back/web7_9_codecrete_be/domain/plans/controller 0.00% 0 10
com/back/web7_9_codecrete_be/domain/location/controller 0.00% 0 0
com/back/web7_9_codecrete_be/global/rsData 0.00% 0 11
com/back/web7_9_codecrete_be/domain/location/entity 0.00% 0 0
com/back/web7_9_codecrete_be/domain/auth/service 0.00% 0 55
com/back/web7_9_codecrete_be/domain/plans/service 0.00% 0 80
com/back/web7_9_codecrete_be/domain/users/controller 0.00% 0 0
com/back/web7_9_codecrete_be/domain/email/entity 0.00% 0 6
com/back/web7_9_codecrete_be/domain/users/service 0.00% 0 0
com/back/web7_9_codecrete_be/domain/auth/controller 0.00% 0 20
com/back/web7_9_codecrete_be/domain/concerts/controller 0.00% 0 9
com/back/web7_9_codecrete_be/domain/artists/controller 0.00% 0 0
com/back/web7_9_codecrete_be/domain/artists/service 0.00% 0 0
com/back/web7_9_codecrete_be/global/aspect 0.00% 0 4
com/back/web7_9_codecrete_be/domain/email/service 1.92% 1 51
com/back/web7_9_codecrete_be/domain/concerts/service 5.48% 12 207
com/back/web7_9_codecrete_be/domain/concerts/entity 6.98% 3 40
com/back/web7_9_codecrete_be/global/rq 12.90% 4 27
com/back/web7_9_codecrete_be/global/security 18.52% 15 66
com/back/web7_9_codecrete_be/domain/plans/entity 20.00% 11 44
com/back/web7_9_codecrete_be/domain/users/entity 35.00% 7 13
com/back/web7_9_codecrete_be/domain/chats/entity 100.00% 1 0
com/back/web7_9_codecrete_be/global/doc 100.00% 17 0
com/back/web7_9_codecrete_be/domain/artists/entity 100.00% 5 0
Lowest Covered Classes (Top 20)
Class Line % Covered Missed
com.back.web7_9_codecrete_be.domain.plans.service.PlanService 0.00% 0 80
com.back.web7_9_codecrete_be.domain.auth.service.AuthService 0.00% 0 39
com.back.web7_9_codecrete_be.global.security.JwtTokenProvider 0.00% 0 37
com.back.web7_9_codecrete_be.domain.concerts.entity.Concert 0.00% 0 26
com.back.web7_9_codecrete_be.domain.auth.controller.AuthController 0.00% 0 20
com.back.web7_9_codecrete_be.domain.plans.entity.Route 0.00% 0 18
com.back.web7_9_codecrete_be.domain.plans.entity.Plan 0.00% 0 16
com.back.web7_9_codecrete_be.domain.auth.service.TokenService 0.00% 0 16
com.back.web7_9_codecrete_be.global.security.JwtAuthenticationFilter 0.00% 0 16
com.back.web7_9_codecrete_be.domain.users.entity.User 0.00% 0 13
com.back.web7_9_codecrete_be.domain.concerts.service.ConcertService 0.00% 0 11
com.back.web7_9_codecrete_be.global.rsData.RsData 0.00% 0 11
com.back.web7_9_codecrete_be.domain.plans.controller.PlanController 0.00% 0 10
com.back.web7_9_codecrete_be.domain.plans.entity.PlanParticipant 0.00% 0 10
com.back.web7_9_codecrete_be.global.security.CustomUserDetail 0.00% 0 10
com.back.web7_9_codecrete_be.domain.concerts.entity.ConcertPlace 0.00% 0 9
com.back.web7_9_codecrete_be.domain.concerts.controller.ConcertController 0.00% 0 9
com.back.web7_9_codecrete_be.domain.email.entity.VerificationCode 0.00% 0 6
com.back.web7_9_codecrete_be.domain.concerts.entity.TicketOffice 0.00% 0 5
com.back.web7_9_codecrete_be.global.aspect.ResponseAspect 0.00% 0 4
Changed Classes (from this PR)
Source (PR) Class Prefix Line % Covered Missed
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/service/ConcertService.java com.back.web7_9_codecrete_be.domain.concerts.service.ConcertService 0.00% 0 11
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/controller/ConcertController.java com.back.web7_9_codecrete_be.domain.concerts.controller.ConcertController 0.00% 0 9
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/entity/TicketOffice.java com.back.web7_9_codecrete_be.domain.concerts.entity.TicketOffice 0.00% 0 5
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/dto/concert/ConcertDetailResponse.java com.back.web7_9_codecrete_be.domain.concerts.dto.concert.ConcertDetailResponse 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/dto/concert/ConcertItem.java com.back.web7_9_codecrete_be.domain.concerts.dto.concert.ConcertItem 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/dto/ticketOffice/TicketOfficeElement.java com.back.web7_9_codecrete_be.domain.concerts.dto.ticketOffice.TicketOfficeElement 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/repository/ConcertRepository.java com.back.web7_9_codecrete_be.domain.concerts.repository.ConcertRepository 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/repository/TicketOfficeRepository.java com.back.web7_9_codecrete_be.domain.concerts.repository.TicketOfficeRepository 0.00% 0 0
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/entity/Concert.java com.back.web7_9_codecrete_be.domain.concerts.entity.Concert 5.41% 2 35
src/main/java/com/back/web7_9_codecrete_be/domain/concerts/service/KopisApiService.java com.back.web7_9_codecrete_be.domain.concerts.service.KopisApiService 5.77% 12 196
src/main/java/com/back/web7_9_codecrete_be/global/security/SecurityConfig.java com.back.web7_9_codecrete_be.global.security.SecurityConfig 100.00% 14 0

🔗 Full HTML report: See artifact jacoco-full-html on this run → https://github.com/prgrms-web-devcourse-final-project/WEB7_9_codecrete_BE/actions/runs/20216870564

@Schema(description = "조회 기준이 되는 concertId입니다. ?concertId={concertId} 로 값을 넘기시면 됩니다.")
long concertId
) {
return concertService.getConcertDetail(concertId);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

여기도 다른 함수들처럼 RsData.success 로 통일하는게 더 좋을 것 같습니다!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

확인했습니다!


@RestController
@RequestMapping("api/v1/concerts/")
@Controller
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Controller가 RestController와 중복되서 빼셔도 될 것 같습니다!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

넵 빼겠습니다.

this.ticketTime = ticketTime;
this.startDate = startDate;
this.endDate = endDate;
this.createdDate = LocalDateTime.now();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

JPA Auditing을 사용하고 있어서, createdDate와 modifiedDate는 CreatedDate, LastModifiedDate 어노테이션 사용하시면 될 것 같습니다!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

저는 뭔가... JPA 기능 쓰는게 영 익숙하지 않아서 잘 안쓰게 되는데, 해당 부분 확인해보겠습니다.

@Creamcheesepie Creamcheesepie merged commit 8b5cb0d into main Dec 15, 2025
2 checks passed
@Creamcheesepie Creamcheesepie deleted the feat/#42 branch December 15, 2025 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Concert] 공연 목록 조회 및 상세 조회 API

4 participants