diff --git a/src/main/java/com/bmilab/backend/domain/task/dto/response/TaskBasicInfoResponse.java b/src/main/java/com/bmilab/backend/domain/task/dto/response/TaskBasicInfoResponse.java index ae6600c0..2d5a5983 100644 --- a/src/main/java/com/bmilab/backend/domain/task/dto/response/TaskBasicInfoResponse.java +++ b/src/main/java/com/bmilab/backend/domain/task/dto/response/TaskBasicInfoResponse.java @@ -45,9 +45,12 @@ public record TaskBasicInfoResponse( List rfpFiles, @Schema(description = "공고서류 전체 정보 파일") - List announcementFiles + List announcementFiles, + + @Schema(description = "연차별 목록") + List periods ) { - public static TaskBasicInfoResponse from(TaskBasicInfo basicInfo, LocalDate announcementStartDate, LocalDate announcementEndDate, Boolean threeFiveRule, List rfpFiles, List announcementFiles) { + public static TaskBasicInfoResponse from(TaskBasicInfo basicInfo, LocalDate announcementStartDate, LocalDate announcementEndDate, Boolean threeFiveRule, List rfpFiles, List announcementFiles, List periods) { return new TaskBasicInfoResponse( basicInfo != null ? basicInfo.getMinistry() : null, basicInfo != null ? basicInfo.getSpecializedAgency() : null, @@ -61,7 +64,8 @@ public static TaskBasicInfoResponse from(TaskBasicInfo basicInfo, LocalDate anno basicInfo != null ? basicInfo.getAnnouncementLink() : null, threeFiveRule, rfpFiles, - announcementFiles + announcementFiles, + periods ); } } diff --git a/src/main/java/com/bmilab/backend/domain/task/repository/TaskPeriodRepository.java b/src/main/java/com/bmilab/backend/domain/task/repository/TaskPeriodRepository.java index 6faca37f..223fc08e 100644 --- a/src/main/java/com/bmilab/backend/domain/task/repository/TaskPeriodRepository.java +++ b/src/main/java/com/bmilab/backend/domain/task/repository/TaskPeriodRepository.java @@ -1,7 +1,11 @@ package com.bmilab.backend.domain.task.repository; +import com.bmilab.backend.domain.task.entity.Task; import com.bmilab.backend.domain.task.entity.TaskPeriod; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface TaskPeriodRepository extends JpaRepository { + List findByTaskOrderByYearNumberAsc(Task task); } \ No newline at end of file diff --git a/src/main/java/com/bmilab/backend/domain/task/service/TaskService.java b/src/main/java/com/bmilab/backend/domain/task/service/TaskService.java index 68a004b7..63023186 100644 --- a/src/main/java/com/bmilab/backend/domain/task/service/TaskService.java +++ b/src/main/java/com/bmilab/backend/domain/task/service/TaskService.java @@ -170,13 +170,19 @@ public TaskBasicInfoResponse getTaskBasicInfo(Long userId, Long taskId) { taskId ).stream().map(FileSummary::from).collect(Collectors.toList()); + List periods = taskPeriodRepository.findByTaskOrderByYearNumberAsc(task) + .stream() + .map(TaskPeriodResponse::from) + .collect(Collectors.toList()); + return TaskBasicInfoResponse.from( basicInfo, task.getStartDate(), task.getEndDate(), task.getThreeFiveRule(), rfpFiles, - announcementFiles + announcementFiles, + periods ); }