Skip to content

Commit

Permalink
Merge pull request #156 from MUIT-UMC/feature/EvTo
Browse files Browse the repository at this point in the history
[feat] 이벤트 조회 종료날짜 기준으로 수정
  • Loading branch information
sweatbuckets authored Feb 20, 2025
2 parents 6fa1c30 + 5571864 commit e4a73d0
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/main/java/muit/backend/controller/EventController.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@ public class EventController {
private final MemberService memberService;

@GetMapping("")
@Operation(summary = "현재 진행중인 뮤지컬 이벤트 조회 API", description = "시작 날짜가 오늘 날짜 이후인 이벤트를 하나라도 갖고 있는 모든 뮤지컬의 이벤트 목록을 조회하는 API, 한 페이지에 뮤지컬 6개씩")
@Operation(summary = "현재 진행중인 뮤지컬 이벤트 조회 API", description = "종료 날짜가 오늘 날짜 이후인 이벤트를 하나라도 갖고 있는 모든 뮤지컬의 이벤트 목록을 조회하는 API, 한 페이지에 뮤지컬 6개씩")
public ApiResponse<Page<EventResponseDTO.EventResultListDTO>> getEventListSortedByEvFrom(@RequestHeader("Authorization") String accessToken,
@RequestParam(defaultValue = "0", name = "page") Integer page){
LocalDate today = LocalDate.now();
Member member = memberService.getMemberByToken(accessToken);
return ApiResponse.onSuccess(eventService.getEventListOrderByEvFrom(today, member, page));
return ApiResponse.onSuccess(eventService.getEventListOrderByEvTo(today, member, page));
}

@GetMapping("/{musicalId}")
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/muit/backend/repository/EventRepository.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ public interface EventRepository extends JpaRepository<Event, Long> {

List<Event> findByMusicalIdOrderByEvFromAsc(long musicalId);

List<Event> findAllByEvFromIsNotNullOrderByEvFromAsc();
List<Event> findAllByEvFromIsNotNullOrderByEvToAsc();
}
2 changes: 1 addition & 1 deletion src/main/java/muit/backend/service/EventService.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
public interface EventService {
public EventResponseDTO.EventResultListDTO getEvent (Long musicalId, Member member);

public Page<EventResponseDTO.EventResultListDTO> getEventListOrderByEvFrom (LocalDate today, Member member, Integer page);
public Page<EventResponseDTO.EventResultListDTO> getEventListOrderByEvTo (LocalDate today, Member member, Integer page);

public EventResponseDTO.EventResultDTO createEvent(Long musicalId, EventRequestDTO.EventCreateDTO eventCreateDTO);

Expand Down
6 changes: 3 additions & 3 deletions src/main/java/muit/backend/service/EventServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,15 +53,15 @@ public EventResponseDTO.EventResultListDTO getEvent(Long musicalId, Member membe


@Override
public Page<EventResponseDTO.EventResultListDTO> getEventListOrderByEvFrom(LocalDate today, Member member, Integer page) {
public Page<EventResponseDTO.EventResultListDTO> getEventListOrderByEvTo(LocalDate today, Member member, Integer page) {
//Event 를 EvFrom 기준 오름차순으로 정렬
List<Event> eventList = eventRepository.findAllByEvFromIsNotNullOrderByEvFromAsc();
List<Event> eventList = eventRepository.findAllByEvFromIsNotNullOrderByEvToAsc();

List<EventResponseDTO.EventResultListDTO> eventResultListDTOs = eventList.stream()
.collect(Collectors.groupingBy(event -> event.getMusical().getId()))
.values().stream()
.filter(group -> group.stream() // List<Event>로 변환된 스트림을 다시 스트림으로 변환
.anyMatch(event -> !event.getEvFrom().isBefore(today)))
.anyMatch(event -> !event.getEvTo().isBefore(today)))
.map(group-> {
return EventConverter.toEventResultListDTO(group.get(0).getMusical(),
(likesRepository.findByMemberIdAndMusicalId(member.getId(), group.get(0).getMusical().getId())!=null), group);})
Expand Down

0 comments on commit e4a73d0

Please sign in to comment.