diff --git a/src/main/java/com/onnoff/onnoff/domain/on/worklog/controller/WorklogController.java b/src/main/java/com/onnoff/onnoff/domain/on/worklog/controller/WorklogController.java index c296a4d..678419a 100644 --- a/src/main/java/com/onnoff/onnoff/domain/on/worklog/controller/WorklogController.java +++ b/src/main/java/com/onnoff/onnoff/domain/on/worklog/controller/WorklogController.java @@ -11,6 +11,9 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDate; +import java.util.List; + @RestController @RequiredArgsConstructor @RequestMapping("/on/worklog") @@ -18,6 +21,14 @@ public class WorklogController { private final WorklogService worklogService; + @GetMapping("/") + @Operation(summary = "업무일지 조회 API") + public ApiResponse> getWorklog(@RequestParam(name = "date") LocalDate date){ + List worklogList = worklogService.getWorklog(date); + return ApiResponse.onSuccess(WorklogConverter.toWorklogViewDTO(worklogList)); + } + + @PostMapping("/") @Operation(summary = "업무일지 추가 API") public ApiResponse addWorklog(@RequestBody @Valid WorklogRequest.AddWorklogDTO request){ diff --git a/src/main/java/com/onnoff/onnoff/domain/on/worklog/converter/WorklogConverter.java b/src/main/java/com/onnoff/onnoff/domain/on/worklog/converter/WorklogConverter.java index 9635ada..9635c51 100644 --- a/src/main/java/com/onnoff/onnoff/domain/on/worklog/converter/WorklogConverter.java +++ b/src/main/java/com/onnoff/onnoff/domain/on/worklog/converter/WorklogConverter.java @@ -4,9 +4,12 @@ import com.onnoff.onnoff.domain.on.worklog.dto.WorklogResponse; import com.onnoff.onnoff.domain.on.worklog.entity.Worklog; +import java.util.List; +import java.util.stream.Collectors; + public class WorklogConverter { //request to entity - public static Worklog toAddWorklog(WorklogRequest.AddWorklogDTO request){ + public static Worklog toAddWorklog(WorklogRequest.AddWorklogDTO request) { return Worklog.builder() .date(request.getDate()) .content(request.getContent()) @@ -16,7 +19,17 @@ public static Worklog toAddWorklog(WorklogRequest.AddWorklogDTO request){ //entity to response - public static WorklogResponse.AddResultDTO toAddWorklogResultDTO(Worklog worklog){ + public static List toWorklogViewDTO(List worklogList) { + return worklogList.stream() + .map(worklog -> WorklogResponse.WorklogDTO.builder() + .worklogId(worklog.getId()) + .content(worklog.getContent()) + .isChecked(worklog.getIsChecked()) + .build()) + .collect(Collectors.toList()); + } + + public static WorklogResponse.AddResultDTO toAddWorklogResultDTO(Worklog worklog) { return WorklogResponse.AddResultDTO.builder() .worklogId(worklog.getId()) .content(worklog.getContent()) @@ -25,7 +38,7 @@ public static WorklogResponse.AddResultDTO toAddWorklogResultDTO(Worklog worklog .build(); } - public static WorklogResponse.ModifyResultDTO toModifyWorklogResultDTO(Worklog worklog){ + public static WorklogResponse.ModifyResultDTO toModifyWorklogResultDTO(Worklog worklog) { return WorklogResponse.ModifyResultDTO.builder() .worklogId(worklog.getId()) .content(worklog.getContent()) @@ -34,4 +47,5 @@ public static WorklogResponse.ModifyResultDTO toModifyWorklogResultDTO(Worklog w .updatedAt(worklog.getUpdatedAt()) .build(); } + } diff --git a/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogService.java b/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogService.java index 89d8f53..4c8828e 100644 --- a/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogService.java +++ b/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogService.java @@ -2,9 +2,15 @@ import com.onnoff.onnoff.domain.on.worklog.dto.WorklogRequest; import com.onnoff.onnoff.domain.on.worklog.entity.Worklog; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDate; +import java.util.List; public interface WorklogService { + List getWorklog(LocalDate date); + Worklog addWorklog(WorklogRequest.AddWorklogDTO request); Worklog modifyContent(Long worklogId, WorklogRequest.ModifyWorklogDTO request); diff --git a/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogServiceImpl.java b/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogServiceImpl.java index c12e082..6d354cb 100644 --- a/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogServiceImpl.java +++ b/src/main/java/com/onnoff/onnoff/domain/on/worklog/service/WorklogServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; +import java.util.List; @Service @Transactional @@ -20,6 +21,14 @@ public class WorklogServiceImpl implements WorklogService{ private final WorklogRepository worklogRepository; + @Override + @Transactional + public List getWorklog(LocalDate date){ + User user = UserContext.getUser(); + + return worklogRepository.findAllByUserAndDateOrderByCreatedAt(user, date); + } + @Override @Transactional public Worklog addWorklog(WorklogRequest.AddWorklogDTO request){