Skip to content

Commit

Permalink
feat: 공지 추가 #442
Browse files Browse the repository at this point in the history
  • Loading branch information
hocaron authored Jun 29, 2024
2 parents b344981 + ab09446 commit 6834a15
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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);

Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -31,21 +33,24 @@ public class ScheduleCreateRequest {

private String detailAddress;

private String notice;

private ScheduleType scheduleType = ScheduleType.ALL;

@NotEmpty
private List<EventCreateRequest> eventsCreateRequests;

private ScheduleCreateRequest(String name, LocalDateTime startedAt, LocalDateTime endedAt, List<EventCreateRequest> eventsCreateRequests) {
private ScheduleCreateRequest(String name, LocalDateTime startedAt, LocalDateTime endedAt, List<EventCreateRequest> 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());
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ public class ScheduleUpdateRequest {

private String detailAddress;

private String notice;

private ScheduleType scheduleType = ScheduleType.ALL;

@NotEmpty
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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() {
Expand Down Expand Up @@ -179,4 +182,8 @@ public Boolean checkAvailabilityByPlatform(Platform platform) {
return false;
}
}

public void updateNotice(String notice) {
this.notice = notice;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ public class ScheduleCreateDto {
String roadAddress;
String detailAddress;
ScheduleType scheduleType;
String notice;
}
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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 {
Expand All @@ -30,6 +30,8 @@ public class ScheduleResponse {

ScheduleType scheduleType;

String notice;

List<EventResponse> eventList;

public static ScheduleResponse from(Schedule schedule, Integer dateCount) {
Expand All @@ -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)
Expand Down

0 comments on commit 6834a15

Please sign in to comment.