Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import gg.agit.konect.domain.event.dto.EventBoothMapResponse;
import gg.agit.konect.domain.event.dto.EventBoothsResponse;
import gg.agit.konect.domain.event.dto.EventContentsResponse;
import gg.agit.konect.domain.event.dto.EventHomeResponse;
import gg.agit.konect.domain.event.dto.EventMiniEventsResponse;
import gg.agit.konect.domain.event.dto.EventProgramsResponse;
import gg.agit.konect.domain.event.enums.EventProgramType;
Expand All @@ -21,6 +22,13 @@
@RequestMapping("/events")
public interface EventApi {

@Operation(summary = "행사 홈 정보를 조회한다.")
@GetMapping("/{eventId}/home")
ResponseEntity<EventHomeResponse> getEventHome(
@PathVariable Integer eventId,
@UserId Integer userId
);

@Operation(summary = "행사 프로그램 목록을 조회한다.")
@GetMapping("/{eventId}/programs")
ResponseEntity<EventProgramsResponse> getEventPrograms(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import gg.agit.konect.domain.event.dto.EventBoothMapResponse;
import gg.agit.konect.domain.event.dto.EventBoothsResponse;
import gg.agit.konect.domain.event.dto.EventContentsResponse;
import gg.agit.konect.domain.event.dto.EventHomeResponse;
import gg.agit.konect.domain.event.dto.EventMiniEventsResponse;
import gg.agit.konect.domain.event.dto.EventProgramsResponse;
import gg.agit.konect.domain.event.enums.EventProgramType;
Expand All @@ -20,6 +21,11 @@ public class EventController implements EventApi {

private final EventService eventService;

@Override
public ResponseEntity<EventHomeResponse> getEventHome(Integer eventId, Integer userId) {
return ResponseEntity.ok(eventService.getEventHome(eventId, userId));
}

@Override
public ResponseEntity<EventProgramsResponse> getEventPrograms(Integer eventId, EventProgramType type, Integer page,
Integer limit,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package gg.agit.konect.domain.event.dto;

import java.time.LocalDateTime;

public record EventHomeResponse(
Integer eventId,
String title,
String subtitle,
String posterImageUrl,
LocalDateTime startAt,
LocalDateTime endAt,
String notice,
Summary summary,
UserStatus userStatus
) {

public record Summary(
Integer programCount,
Integer boothCount,
Integer eventCount,
Integer contentCount
) {
}

public record UserStatus(
Integer point,
Integer participatedEventCount
) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@
import gg.agit.konect.domain.event.dto.EventBoothsResponse;
import gg.agit.konect.domain.event.dto.EventContentSummaryResponse;
import gg.agit.konect.domain.event.dto.EventContentsResponse;
import gg.agit.konect.domain.event.dto.EventHomeResponse;
import gg.agit.konect.domain.event.dto.EventMiniEventSummaryResponse;
import gg.agit.konect.domain.event.dto.EventMiniEventsResponse;
import gg.agit.konect.domain.event.dto.EventProgramSummaryResponse;
import gg.agit.konect.domain.event.dto.EventProgramsResponse;
import gg.agit.konect.domain.event.enums.EventProgramType;
import gg.agit.konect.domain.event.model.Event;
import gg.agit.konect.domain.event.model.EventBooth;
import gg.agit.konect.domain.event.model.EventBoothMap;
import gg.agit.konect.domain.event.model.EventBoothMapItem;
Expand Down Expand Up @@ -46,6 +48,27 @@ public class EventService {
private final EventMiniEventRepository eventMiniEventRepository;
private final EventContentRepository eventContentRepository;

public EventHomeResponse getEventHome(Integer eventId, Integer userId) {
Event event = getEvent(eventId);

return new EventHomeResponse(
event.getId(),
event.getTitle(),
event.getSubtitle(),
event.getPosterImageUrl(),
event.getStartAt(),
event.getEndAt(),
event.getNotice(),
new EventHomeResponse.Summary(
eventProgramRepository.countByEventId(eventId),
eventBoothRepository.countByEventId(eventId),
eventMiniEventRepository.countByEventId(eventId),
eventContentRepository.countByEventId(eventId)
),
new EventHomeResponse.UserStatus(0, 0)
);
}

public EventProgramsResponse getEventPrograms(Integer eventId, EventProgramType type, Integer page, Integer limit,
Integer userId) {
getEvent(eventId);
Expand Down Expand Up @@ -162,8 +185,8 @@ public EventContentsResponse getEventContents(Integer eventId, String category,
);
}

private void getEvent(Integer eventId) {
eventRepository.findById(eventId)
private Event getEvent(Integer eventId) {
return eventRepository.findById(eventId)
.orElseThrow(() -> CustomException.of(NOT_FOUND_EVENT));
}

Expand Down
Loading