diff --git a/mashup-recruit/src/main/java/kr/mashup/branding/facade/application/ApplicationFacadeService.java b/mashup-recruit/src/main/java/kr/mashup/branding/facade/application/ApplicationFacadeService.java index 88814a22..bea909a7 100644 --- a/mashup-recruit/src/main/java/kr/mashup/branding/facade/application/ApplicationFacadeService.java +++ b/mashup-recruit/src/main/java/kr/mashup/branding/facade/application/ApplicationFacadeService.java @@ -1,5 +1,8 @@ package kr.mashup.branding.facade.application; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/ApplicationController.java b/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/ApplicationController.java index 482abcae..590a8a78 100644 --- a/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/ApplicationController.java +++ b/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/ApplicationController.java @@ -16,7 +16,9 @@ import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; @RestController @RequestMapping("/api/v1/applications") @@ -127,7 +129,12 @@ public ApiResponse updateConfirmation( public ApiResponse> getRecruitSchedule( @PathVariable Integer generationNumber ){ - final List response = applicationFacadeService.getRecruitSchedule(generationNumber); + final List response = + applicationFacadeService + .getRecruitSchedule(generationNumber) + .stream() + .sorted(Comparator.comparing(RecruitScheduleResponse::getEventOccurredAt)) + .collect(Collectors.toList()); return ApiResponse.success(response); } diff --git a/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/vo/RecruitScheduleResponse.java b/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/vo/RecruitScheduleResponse.java index a7f56374..2f5abf7d 100644 --- a/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/vo/RecruitScheduleResponse.java +++ b/mashup-recruit/src/main/java/kr/mashup/branding/ui/application/vo/RecruitScheduleResponse.java @@ -7,6 +7,8 @@ import lombok.Getter; import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; @Getter @AllArgsConstructor(access = AccessLevel.PRIVATE) @@ -14,10 +16,20 @@ public class RecruitScheduleResponse { private Long recruitScheduleId; private RecruitmentScheduleEventName eventName; - - private LocalDateTime eventOccurredAt; + private ZonedDateTime eventOccurredAt; public static RecruitScheduleResponse of(final RecruitmentSchedule schedule){ - return new RecruitScheduleResponse(schedule.getRecruitmentScheduleId(), schedule.getEventName(), schedule.getEventOccurredAt()); + return new RecruitScheduleResponse( + schedule.getRecruitmentScheduleId(), + schedule.getEventName(), + convertToZonedDateTime(schedule.getEventOccurredAt())); + } + + + private static ZonedDateTime convertToZonedDateTime(LocalDateTime localDateTime) { + if (localDateTime == null) { + return null; + } + return ZonedDateTime.of(localDateTime, ZoneId.of("Asia/Seoul")); } }