Linear 하게 스케줄이 중첩되지 않는 지 체크
2. DB에 저장되어 있는 스케줄과의 중첩 체크(checkPerfTimeWithDB 메소드)
기존에 존재하는 스케줄을 List로 가져와 startTime을 기준으로 정렬
- DB의 스케줄을 가져올 때 같은 홀의 스케줄 중 날짜 범위를 조정하여 체크 알고리즘의 효율 향상- 공연 시간이 이틀에 걸쳐 진행 될 수 있으므로 입력하려는 스케줄의 시작 시간을 기준으로 앞, 뒤 날짜 모두 SELECT
정렬된 스케줄을 endTime 기준으로 이분탐색 하여 입력하려는 스케줄의 startTime 보다 큰 스케줄 중 가장 작은 스케줄 검색
개요
[관리자 권한]
공연 정보 등록
포스터 이미지 등록
공연 스케줄 등록
공연 스케줄 등록 시 시간 중첩 방지
Progress
Detail
공연 정보 등록 기능
insertPerformance
메소드에서 공연 등록 로직 수행PerformanceRequest
객체로 공연 정보 받아옴PerformanceAlreadyExistsException
에러ShowType
Enum 및TypeHandler
로 처리포스터 이미지 등록 기능
공연 스케줄 등록 기능
공연 스케줄 시간 중첩 방지 기능
1. 입력된 스케줄 간의 중첩 체크(checkPerfTimeRequestConflict 메소드)
- DB의 스케줄을 가져올 때 같은 홀의 스케줄 중 날짜 범위를 조정하여 체크 알고리즘의 효율 향상
- 공연 시간이 이틀에 걸쳐 진행 될 수 있으므로 입력하려는 스케줄의 시작 시간을 기준으로 앞, 뒤 날짜 모두 SELECT
TEST