From 86efd6f336c47bfda3841ea2cbe0d99286ed52ba Mon Sep 17 00:00:00 2001 From: dpfls0922 Date: Tue, 14 Jan 2025 08:50:35 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[chore]=20=EC=9B=94=EB=B3=84=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EC=A1=B0=ED=9A=8C=20=EC=8B=9C=20=ED=95=84=EB=93=9C?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=20#182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/controller/EventController.java | 5 +++-- .../example/classfit/event/domain/Event.java | 17 ++++++++++++++ .../dto/response/EventModalResponse.java | 22 +++++++++++++++++++ .../event/service/EventGetService.java | 5 +++-- .../classfit/event/service/EventService.java | 3 ++- 5 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 src/main/java/classfit/example/classfit/event/dto/response/EventModalResponse.java diff --git a/src/main/java/classfit/example/classfit/event/controller/EventController.java b/src/main/java/classfit/example/classfit/event/controller/EventController.java index a0b88d0d..e381bda4 100644 --- a/src/main/java/classfit/example/classfit/event/controller/EventController.java +++ b/src/main/java/classfit/example/classfit/event/controller/EventController.java @@ -5,6 +5,7 @@ import classfit.example.classfit.event.dto.request.EventModalRequest; import classfit.example.classfit.common.ApiResponse; import classfit.example.classfit.event.dto.request.EventCreateRequest; +import classfit.example.classfit.event.dto.response.EventModalResponse; import classfit.example.classfit.event.dto.response.EventMontylyResponse; import classfit.example.classfit.event.dto.response.EventResponse; import classfit.example.classfit.event.service.EventService; @@ -74,10 +75,10 @@ public ApiResponse createModalEvent( @GetMapping("/modal/{eventId}") @Operation(summary = "모달 일정 상세 조회", description = "모달 일정을 상세조회하는 api 입니다.") - public ApiResponse getEventDetails( + public ApiResponse getEventDetails( @PathVariable Long eventId ) { - EventResponse event = eventService.getEvent(eventId); + EventModalResponse event = eventService.getEvent(eventId); return ApiResponse.success(event, 200, "SUCCESS"); } diff --git a/src/main/java/classfit/example/classfit/event/domain/Event.java b/src/main/java/classfit/example/classfit/event/domain/Event.java index bd0f463f..8be84455 100644 --- a/src/main/java/classfit/example/classfit/event/domain/Event.java +++ b/src/main/java/classfit/example/classfit/event/domain/Event.java @@ -2,6 +2,7 @@ import classfit.example.classfit.calendarCategory.domain.CalendarCategory; import classfit.example.classfit.common.domain.BaseEntity; +import classfit.example.classfit.event.dto.response.EventModalResponse; import classfit.example.classfit.event.dto.response.EventResponse; import classfit.example.classfit.eventMember.domain.EventMember; import classfit.example.classfit.member.domain.Member; @@ -140,4 +141,20 @@ public static EventResponse buildEventResponse(Event event) { event.getEndDate() ); } + + public static EventModalResponse buildModalEventResponse(Event event) { + Long categoryId = (event.getCategory() != null) ? event.getCategory().getId() : null; + + return EventModalResponse.of( + event.getId(), + event.getName(), + event.getEventType(), + event.getStartDate(), + event.getEndDate(), + categoryId, + event.getEventRepeatType(), + event.getRepeatEndDate(), + event.isAllDay() + ); + } } diff --git a/src/main/java/classfit/example/classfit/event/dto/response/EventModalResponse.java b/src/main/java/classfit/example/classfit/event/dto/response/EventModalResponse.java new file mode 100644 index 00000000..a406060f --- /dev/null +++ b/src/main/java/classfit/example/classfit/event/dto/response/EventModalResponse.java @@ -0,0 +1,22 @@ +package classfit.example.classfit.event.dto.response; + +import classfit.example.classfit.event.domain.EventRepeatType; +import classfit.example.classfit.event.domain.EventType; +import java.time.LocalDateTime; + +public record EventModalResponse + ( + Long id, + String name, + EventType eventType, + LocalDateTime startDate, + LocalDateTime endDate, + Long categoryId, + EventRepeatType eventRepeatType, + LocalDateTime repeatEndDate, + boolean isAllDay + ) { + public static EventModalResponse of(final Long id, final String name, final EventType eventType, final LocalDateTime startDate, final LocalDateTime endDate, final Long categoryId, final EventRepeatType eventRepeatType, final LocalDateTime repeatEndDate, final boolean isAllDay) { + return new EventModalResponse(id, name, eventType, startDate, endDate, categoryId, eventRepeatType, repeatEndDate, isAllDay); + } +} diff --git a/src/main/java/classfit/example/classfit/event/service/EventGetService.java b/src/main/java/classfit/example/classfit/event/service/EventGetService.java index f3e8ab72..bb098abf 100644 --- a/src/main/java/classfit/example/classfit/event/service/EventGetService.java +++ b/src/main/java/classfit/example/classfit/event/service/EventGetService.java @@ -4,6 +4,7 @@ import classfit.example.classfit.common.exception.ClassfitException; import classfit.example.classfit.event.domain.Event; +import classfit.example.classfit.event.dto.response.EventModalResponse; import classfit.example.classfit.event.dto.response.EventMontylyResponse; import classfit.example.classfit.event.dto.response.EventResponse; import classfit.example.classfit.event.repository.EventRepository; @@ -23,9 +24,9 @@ public class EventGetService { private final EventRepository eventRepository; @Transactional(readOnly = true) - public EventResponse getEvent(long eventId) { + public EventModalResponse getEvent(long eventId) { Event event = getEventById(eventId); - return Event.buildEventResponse(event); + return Event.buildModalEventResponse(event); } private Event getEventById(long eventId) { diff --git a/src/main/java/classfit/example/classfit/event/service/EventService.java b/src/main/java/classfit/example/classfit/event/service/EventService.java index 6b215f23..6ff0e74e 100644 --- a/src/main/java/classfit/example/classfit/event/service/EventService.java +++ b/src/main/java/classfit/example/classfit/event/service/EventService.java @@ -7,6 +7,7 @@ import classfit.example.classfit.event.dto.request.EventCreateRequest; import classfit.example.classfit.event.dto.request.EventDragUpdate; import classfit.example.classfit.event.dto.request.EventModalRequest; +import classfit.example.classfit.event.dto.response.EventModalResponse; import classfit.example.classfit.event.dto.response.EventMontylyResponse; import classfit.example.classfit.event.dto.response.EventResponse; import classfit.example.classfit.event.repository.EventRepository; @@ -38,7 +39,7 @@ public EventResponse updateEvent(Member member, long eventId, EventModalRequest return eventUpdateService.updateEvent(member, eventId, request); } - public EventResponse getEvent(long eventId) { + public EventModalResponse getEvent(long eventId) { return eventGetService.getEvent(eventId); } From 501677a4578df41e261c8a2a4ce6ae93e526efce Mon Sep 17 00:00:00 2001 From: dpfls0922 Date: Tue, 14 Jan 2025 08:53:28 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[fix]=20=EB=B0=98=EB=B3=B5=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=20=EB=8B=B9=EC=9D=BC?= =?UTF-8?q?=EC=97=90=20=EB=91=90=20=EB=B2=88=20=EC=83=9D=EA=B8=B0=EB=8A=94?= =?UTF-8?q?=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4=EA=B2=B0=20#182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/classfit/event/service/EventRepeatService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java index 7868f235..4dc484bd 100644 --- a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java +++ b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java @@ -26,7 +26,7 @@ public void addRepeatedEvents(Member member, EventCreateRequest request) { return; } - LocalDateTime currentStartDate = request.startDate(); + LocalDateTime currentStartDate = request.startDate().plusDays(1); LocalDateTime currentEndDate = request.endDate(); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); @@ -82,7 +82,7 @@ public void addRepeatedModalEvents(Member member, EventModalRequest request) { return; } - LocalDateTime currentStartDate = request.startDate(); + LocalDateTime currentStartDate = request.startDate().plusDays(1); LocalDateTime currentEndDate = request.endDate(); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); From 00e1e3bc63af2e8d3c7d3df45aa85ff0e962ae09 Mon Sep 17 00:00:00 2001 From: dpfls0922 Date: Tue, 14 Jan 2025 09:10:40 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[fix]=20=EB=B0=98=EB=B3=B5=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=20=EB=A7=88=EA=B0=90?= =?UTF-8?q?=EC=9D=BC=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0=20#182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/classfit/event/service/EventRepeatService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java index 4dc484bd..26fe5947 100644 --- a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java +++ b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java @@ -27,7 +27,7 @@ public void addRepeatedEvents(Member member, EventCreateRequest request) { } LocalDateTime currentStartDate = request.startDate().plusDays(1); - LocalDateTime currentEndDate = request.endDate(); + LocalDateTime currentEndDate = request.endDate().plusDays(1); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); generateRepeatedEvents(member, request, currentStartDate, currentEndDate, repeatEndDate); @@ -83,7 +83,7 @@ public void addRepeatedModalEvents(Member member, EventModalRequest request) { } LocalDateTime currentStartDate = request.startDate().plusDays(1); - LocalDateTime currentEndDate = request.endDate(); + LocalDateTime currentEndDate = request.endDate().plusDays(1); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); generateRepeatedModalEvents(member, request, currentStartDate, currentEndDate, repeatEndDate); From 958ecd79d1cd523724b1a5d9a8ad98546d37f342 Mon Sep 17 00:00:00 2001 From: dpfls0922 Date: Tue, 14 Jan 2025 09:17:26 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[fix]=20=EB=B0=98=EB=B3=B5=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EC=83=9D=EC=84=B1=20=EC=98=A4=EB=A5=98=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0=20#182?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../classfit/event/service/EventRepeatService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java index 26fe5947..d53df5b4 100644 --- a/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java +++ b/src/main/java/classfit/example/classfit/event/service/EventRepeatService.java @@ -26,8 +26,8 @@ public void addRepeatedEvents(Member member, EventCreateRequest request) { return; } - LocalDateTime currentStartDate = request.startDate().plusDays(1); - LocalDateTime currentEndDate = request.endDate().plusDays(1); + LocalDateTime currentStartDate = getNextRepeatDate(request.startDate(), request.eventRepeatType()); + LocalDateTime currentEndDate = getNextRepeatDate(request.endDate(), request.eventRepeatType()); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); generateRepeatedEvents(member, request, currentStartDate, currentEndDate, repeatEndDate); @@ -82,8 +82,8 @@ public void addRepeatedModalEvents(Member member, EventModalRequest request) { return; } - LocalDateTime currentStartDate = request.startDate().plusDays(1); - LocalDateTime currentEndDate = request.endDate().plusDays(1); + LocalDateTime currentStartDate = getNextRepeatDate(request.startDate(), request.eventRepeatType()); + LocalDateTime currentEndDate = getNextRepeatDate(request.endDate(), request.eventRepeatType()); LocalDateTime repeatEndDate = request.repeatEndDate().orElse(currentStartDate.plusMonths(6)); generateRepeatedModalEvents(member, request, currentStartDate, currentEndDate, repeatEndDate);