diff --git a/mashup-admin/src/main/java/kr/mashup/branding/facade/schedule/ScheduleFacadeService.java b/mashup-admin/src/main/java/kr/mashup/branding/facade/schedule/ScheduleFacadeService.java index a7175881..cef7ee93 100644 --- a/mashup-admin/src/main/java/kr/mashup/branding/facade/schedule/ScheduleFacadeService.java +++ b/mashup-admin/src/main/java/kr/mashup/branding/facade/schedule/ScheduleFacadeService.java @@ -61,7 +61,7 @@ public ScheduleResponse create(Integer generationNumber, ScheduleCreateRequest r final DateRange dateRange = DateRange.of(request.getStartedAt(), request.getEndedAt()); final ScheduleCreateDto createDto = - ScheduleCreateDto.of(request.getName(), dateRange, request.getLatitude(), request.getLongitude(), request.getRoadAddress(), request.getDetailAddress(), request.getScheduleType()); + ScheduleCreateDto.of(request.getName(), dateRange, request.getLatitude(), request.getLongitude(), request.getRoadAddress(), request.getDetailAddress(), request.getScheduleType(), request.getNotice()); final Schedule schedule = scheduleService.create(generation, createDto); @@ -103,7 +103,7 @@ public ScheduleResponse updateSchedule( final DateRange dateRange = DateRange.of(request.getStartedAt(), request.getEndedAt()); final ScheduleCreateDto scheduleCreateDto = ScheduleCreateDto.of(request.getName(), dateRange, request.getLatitude(), request.getLongitude(), - request.getRoadAddress(), request.getDetailAddress(), request.getScheduleType()); + request.getRoadAddress(), request.getDetailAddress(), request.getScheduleType(), request.getNotice()); schedule = scheduleService.updateSchedule(schedule, generation, scheduleCreateDto); diff --git a/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleCreateRequest.java b/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleCreateRequest.java index 335e7fb3..00d58c5f 100644 --- a/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleCreateRequest.java +++ b/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleCreateRequest.java @@ -1,13 +1,15 @@ package kr.mashup.branding.ui.schedule.request; -import java.time.LocalDateTime; -import java.util.List; +import kr.mashup.branding.domain.schedule.ScheduleType; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; - -import kr.mashup.branding.domain.schedule.ScheduleType; -import lombok.*; +import java.time.LocalDateTime; +import java.util.List; @Getter @ToString @@ -31,21 +33,24 @@ public class ScheduleCreateRequest { private String detailAddress; + private String notice; + private ScheduleType scheduleType = ScheduleType.ALL; @NotEmpty private List eventsCreateRequests; - private ScheduleCreateRequest(String name, LocalDateTime startedAt, LocalDateTime endedAt, List eventsCreateRequests) { + private ScheduleCreateRequest(String name, LocalDateTime startedAt, LocalDateTime endedAt, List eventsCreateRequests, String notice) { this.name = name; this.startedAt = startedAt; this.endedAt = endedAt; this.eventsCreateRequests = eventsCreateRequests; + this.notice = notice; } public static ScheduleCreateRequest from(ScheduleUpdateRequest request){ - return new ScheduleCreateRequest(request.getName(), request.getStartedAt(), request.getEndedAt(), request.getEventsCreateRequests()); + return new ScheduleCreateRequest(request.getName(), request.getStartedAt(), request.getEndedAt(), request.getEventsCreateRequests(), request.getNotice()); } } diff --git a/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleUpdateRequest.java b/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleUpdateRequest.java index b5efba2d..05a13a54 100644 --- a/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleUpdateRequest.java +++ b/mashup-admin/src/main/java/kr/mashup/branding/ui/schedule/request/ScheduleUpdateRequest.java @@ -34,6 +34,8 @@ public class ScheduleUpdateRequest { private String detailAddress; + private String notice; + private ScheduleType scheduleType = ScheduleType.ALL; @NotEmpty diff --git a/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/Schedule.java b/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/Schedule.java index ec014863..5094b592 100644 --- a/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/Schedule.java +++ b/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/Schedule.java @@ -57,17 +57,19 @@ public class Schedule extends BaseEntity { @Enumerated(EnumType.STRING) private ScheduleType scheduleType; + private String notice; + @CreatedBy private String createdBy; @LastModifiedBy private String updatedBy; - public static Schedule of(Generation generation, String name, DateRange dateRange, Location location, ScheduleType scheduleType) { - return new Schedule(generation, name, dateRange, location, scheduleType); + public static Schedule of(Generation generation, String name, DateRange dateRange, Location location, ScheduleType scheduleType, String notice) { + return new Schedule(generation, name, dateRange, location, scheduleType, notice); } - public Schedule(Generation generation, String name, DateRange dateRange, Location location, ScheduleType scheduleType) { + public Schedule(Generation generation, String name, DateRange dateRange, Location location, ScheduleType scheduleType, String notice) { checkStartBeforeOrEqualEnd(dateRange.getStart(), dateRange.getEnd()); this.generation = generation; @@ -78,6 +80,7 @@ public Schedule(Generation generation, String name, DateRange dateRange, Locatio this.isCounted = false; // 기본값은 false 로 설정(배치가 수행되지 않음) this.location = location; this.scheduleType = scheduleType; + this.notice = notice; } public void publishSchedule() { @@ -179,4 +182,8 @@ public Boolean checkAvailabilityByPlatform(Platform platform) { return false; } } + + public void updateNotice(String notice) { + this.notice = notice; + } } diff --git a/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/ScheduleCreateDto.java b/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/ScheduleCreateDto.java index 409a2ba8..f7e4d56c 100644 --- a/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/ScheduleCreateDto.java +++ b/mashup-domain/src/main/java/kr/mashup/branding/domain/schedule/ScheduleCreateDto.java @@ -12,4 +12,5 @@ public class ScheduleCreateDto { String roadAddress; String detailAddress; ScheduleType scheduleType; + String notice; } diff --git a/mashup-domain/src/main/java/kr/mashup/branding/service/schedule/ScheduleService.java b/mashup-domain/src/main/java/kr/mashup/branding/service/schedule/ScheduleService.java index 5f0214b5..1806afbf 100644 --- a/mashup-domain/src/main/java/kr/mashup/branding/service/schedule/ScheduleService.java +++ b/mashup-domain/src/main/java/kr/mashup/branding/service/schedule/ScheduleService.java @@ -33,7 +33,7 @@ public class ScheduleService { public Schedule create(Generation generation, ScheduleCreateDto dto) { try { Location location = createLocation(dto); - Schedule schedule = Schedule.of(generation, dto.getName(), dto.getDateRange(), location, dto.getScheduleType()); + Schedule schedule = Schedule.of(generation, dto.getName(), dto.getDateRange(), location, dto.getScheduleType(), dto.getNotice()); return scheduleRepository.save(schedule); } catch (DataIntegrityViolationException exception) { @@ -139,6 +139,7 @@ public Schedule updateSchedule(Schedule schedule, Generation generation, Schedul schedule.changeLocation(location); schedule.changeScheduleType(scheduleCreateDto.getScheduleType()); + schedule.updateNotice(scheduleCreateDto.getNotice()); return schedule; } diff --git a/mashup-member/src/main/java/kr/mashup/branding/ui/schedule/response/ScheduleResponse.java b/mashup-member/src/main/java/kr/mashup/branding/ui/schedule/response/ScheduleResponse.java index a43719d9..d1116b74 100644 --- a/mashup-member/src/main/java/kr/mashup/branding/ui/schedule/response/ScheduleResponse.java +++ b/mashup-member/src/main/java/kr/mashup/branding/ui/schedule/response/ScheduleResponse.java @@ -1,14 +1,14 @@ package kr.mashup.branding.ui.schedule.response; -import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; - import kr.mashup.branding.domain.schedule.Schedule; import kr.mashup.branding.domain.schedule.ScheduleType; import lombok.Getter; import lombok.Value; +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; + @Getter @Value(staticConstructor = "of") public class ScheduleResponse { @@ -30,6 +30,8 @@ public class ScheduleResponse { ScheduleType scheduleType; + String notice; + List eventList; public static ScheduleResponse from(Schedule schedule, Integer dateCount) { @@ -42,6 +44,7 @@ public static ScheduleResponse from(Schedule schedule, Integer dateCount) { schedule.getGeneration().getNumber(), schedule.getLocation() == null ? null : LocationResponse.from(schedule.getLocation()), schedule.getScheduleType(), + schedule.getNotice(), schedule.getEventList() .stream() .map(EventResponse::from)