Skip to content

Commit 8fcd132

Browse files
authored
Merge pull request #151 from SeeATheater/feat/getCreatedShow
[FEAT] 등록자 확인용 직전 등록 공연 조회 api추가
2 parents 6f6b850 + ceffc80 commit 8fcd132

9 files changed

Lines changed: 31 additions & 6 deletions

File tree

src/main/java/cc/backend/amateurShow/controller/AmateurController.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,20 @@ public ApiResponse<String> deleteShow(@AuthenticationPrincipal(expression = "mem
5555
}
5656

5757
@GetMapping("/{amateurShowId}")
58-
@Operation(summary = "소극장 공연 조회 - 단건")
58+
@Operation(summary = "승인된 소극장 공연 단건 조회 - 일반 사용자용")
5959
public ApiResponse<AmateurShowResponseDTO.AmateurShowResult> getAmateurShow(@PathVariable Long amateurShowId){
6060
return ApiResponse.onSuccess(amateurService.getAmateurShow(amateurShowId));
6161
}
6262

63+
@PreAuthorize("hasRole('PERFORMER')")
64+
@GetMapping("/created/{amateurShowId}")
65+
@Operation(summary = "방금 등록한 공연 단건 조회(아직 미승인) - 등록자용")
66+
public ApiResponse<AmateurShowResponseDTO.AmateurShowResult> getCreatedShow(
67+
@AuthenticationPrincipal(expression = "member") Member member,
68+
@PathVariable Long amateurShowId){
69+
return ApiResponse.onSuccess(amateurService.getCreatedShow(member.getId(), amateurShowId));
70+
}
71+
6372
@GetMapping("/ranking")
6473
@Operation(summary = "소극장 공연 랭킹 조회 API")
6574
public ApiResponse<List<AmateurShowResponseDTO.AmateurShowList>> getShowRanking() {

src/main/java/cc/backend/amateurShow/converter/AmateurConverter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ public static AmateurShowResponseDTO.AmateurShowResult toResponseDTO(AmateurShow
271271
//.place(amateurShow.getPlace())
272272
.posterImageUrl(amateurShow.getPosterImageUrl())
273273
.schedule(schedule)
274-
.runtime(amateurShow.getRuntime())
274+
.runtime(amateurShow.getRuntime() + "분")
275275
.account(amateurShow.getAccount())
276276
.contact(amateurShow.getContact())
277277
.hashtag(amateurShow.getHashtag())

src/main/java/cc/backend/amateurShow/dto/AmateurEnrollRequestDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class AmateurEnrollRequestDTO {
2727
@NotNull(message = "종료 날짜는 필수입니다")
2828
private LocalDate end; // 공연 종료 날짜
2929

30-
private String runtime; // 러닝타임
30+
private Integer runtime; // 러닝타임
3131
private String bankName; // 은행명
3232
private String account; // 계좌번호
3333
private String depositor; // 입금자명

src/main/java/cc/backend/amateurShow/dto/AmateurUpdateRequestDTO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class AmateurUpdateRequestDTO {
2121
//private String place; // 공연장 주소
2222
private LocalDate start; // 공연 시작 날짜
2323
private LocalDate end; // 공연 종료 날짜
24-
private String runtime; // 러닝타임
24+
private Integer runtime; // 러닝타임
2525
private String bankName; // 은행명
2626
private String account; // 계좌번호
2727
private String depositor; // 입금자명

src/main/java/cc/backend/amateurShow/entity/AmateurShow.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class AmateurShow extends BaseEntity {
4444
private String depositor; // 입금자명
4545

4646
// 추가
47-
private String runtime;
47+
private Integer runtime;
4848

4949
private String hashtag;
5050

src/main/java/cc/backend/amateurShow/repository/AmateurShowRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Page<AmateurShow> findByNameOrPerformer(
4545
Pageable pageable
4646
);
4747

48-
48+
Optional<AmateurShow> findByIdAndMemberId(Long id, Long memberId);
4949

5050
Slice<AmateurShow> findByMember_IdOrderByIdDesc(Long memberId, Pageable pageable);
5151

src/main/java/cc/backend/amateurShow/service/amateurShowService/AmateurService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ AmateurEnrollResponseDTO.AmateurEnrollResult enrollShow(Long memberId,
2323
List<AmateurShowResponseDTO.AmateurShowList> getShowRanking();
2424
List<AmateurShowResponseDTO.AmateurShowList> getRecentlyHotShow();
2525
List<AmateurShowResponseDTO.AmateurShowList> getShowClosing();
26+
AmateurShowResponseDTO.AmateurShowResult getCreatedShow(Long memberId, Long amateurId);
2627

2728

2829
Slice<AmateurShowResponseDTO.MyShowAmateurShowList> getMyAmateurShow(Long memberId, AmateurShowStatus showStatus, Pageable pageable);

src/main/java/cc/backend/amateurShow/service/amateurShowService/AmateurServiceImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -447,6 +447,19 @@ public AmateurShowResponseDTO.AmateurShowResult getAmateurShow(Long amateurShowI
447447
AmateurShow amateurShow = amateurShowRepository.findById(amateurShowId)
448448
.orElseThrow(() -> new GeneralException(ErrorStatus.AMATEURSHOW_NOT_FOUND));
449449

450+
if(!amateurShow.getApprovalStatus().equals(ApprovalStatus.APPROVED)) {
451+
throw new GeneralException((ErrorStatus.NOT_APPROVED_SHOW));
452+
}
453+
454+
return AmateurConverter.toResponseDTO(amateurShow);
455+
}
456+
457+
@Override
458+
public AmateurShowResponseDTO.AmateurShowResult getCreatedShow(Long memberId, Long amateurShowId){
459+
AmateurShow amateurShow =
460+
amateurShowRepository.findByIdAndMemberId(amateurShowId, memberId)
461+
.orElseThrow(() -> new GeneralException(ErrorStatus.MEMBER_NOT_PERFORMER));
462+
450463
return AmateurConverter.toResponseDTO(amateurShow);
451464
}
452465

src/main/java/cc/backend/apiPayLoad/code/status/ErrorStatus.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ public enum ErrorStatus implements BaseErrorCode {
8080
// AMATEURSHOW ERROR
8181
AMATEURSHOW_NOT_FOUND(HttpStatus.NOT_FOUND, "AMATEURSHOW4000", "존재하지 않는 소극장 공연입니다."),
8282
INVALID_DATE_RANGE(HttpStatus.NOT_ACCEPTABLE, "AMATEURSHOW4001", "공연 시작 날짜는 종료 날짜 이전이어햐 합니다."),
83+
NOT_APPROVED_SHOW(HttpStatus.FORBIDDEN, "AMATEURSHOW4002", "승인되지 않은 소극장 공연입니다."),
84+
8385

8486
// AMATEUR TICKET ERROR
8587
AMATEUR_TICKET_NOT_FOUND(HttpStatus.NOT_FOUND, "AMATEURTICKET4000", "존재하지 않는 소극장 공연 티켓입니다."),

0 commit comments

Comments
 (0)