From be1fc5795d8734577ffbf3b9b0f601d6f1f9142a Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:10:51 +0900 Subject: [PATCH 1/8] =?UTF-8?q?Fix=20[#125]=20msetdto=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/sopt/jaksim/mset/domain/MsetDTO.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 jaksim/src/main/java/org/sopt/jaksim/mset/domain/MsetDTO.java diff --git a/jaksim/src/main/java/org/sopt/jaksim/mset/domain/MsetDTO.java b/jaksim/src/main/java/org/sopt/jaksim/mset/domain/MsetDTO.java new file mode 100644 index 0000000..c9e7935 --- /dev/null +++ b/jaksim/src/main/java/org/sopt/jaksim/mset/domain/MsetDTO.java @@ -0,0 +1,17 @@ +package org.sopt.jaksim.mset.domain; + +import lombok.Getter; + +@Getter +public class MsetDTO { + private final Long id; + private final String name; + private final String url; + + public MsetDTO(Long id, String name, String url) { + this.id = id; + this.name = name; + this.url = url; + } +} + From bfb83664a519a0d1a56b5ef6b83e30ab5a3ae975 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:11:12 +0900 Subject: [PATCH 2/8] Feat [#125] TaskMsetFacade --- .../category/facade/TaskMsetFacade.java | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 jaksim/src/main/java/org/sopt/jaksim/category/facade/TaskMsetFacade.java diff --git a/jaksim/src/main/java/org/sopt/jaksim/category/facade/TaskMsetFacade.java b/jaksim/src/main/java/org/sopt/jaksim/category/facade/TaskMsetFacade.java new file mode 100644 index 0000000..592d972 --- /dev/null +++ b/jaksim/src/main/java/org/sopt/jaksim/category/facade/TaskMsetFacade.java @@ -0,0 +1,42 @@ +package org.sopt.jaksim.category.facade; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.sopt.jaksim.category.domain.Category; +import org.sopt.jaksim.category.dto.CategoryMsetLinkResponse; +import org.sopt.jaksim.category.dto.TaskMsetLinkResponse; +import org.sopt.jaksim.category.service.CategoryService; +import org.sopt.jaksim.mset.domain.CategoryMset; +import org.sopt.jaksim.mset.domain.Mset; +import org.sopt.jaksim.mset.domain.MsetDTO; +import org.sopt.jaksim.mset.domain.TaskMset; +import org.sopt.jaksim.mset.service.CategoryMsetService; +import org.sopt.jaksim.mset.service.MsetService; +import org.sopt.jaksim.mset.service.TaskMsetService; +import org.sopt.jaksim.task.domain.Task; +import org.sopt.jaksim.task.service.TaskService; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service +@RequiredArgsConstructor +public class TaskMsetFacade { + private final TaskService taskService; + private final MsetService msetService; + private final TaskMsetService taskMsetService; + + public TaskMsetLinkResponse getFromOtherTask(Long taskId) { + Task task = taskService.getTaskById(taskId); + List taskMsetList = taskMsetService.getByTaskId(taskId); + List msets = taskMsetList.stream() // + .map(taskMset -> msetService.getMsetById(taskMset.getMsetId())) + .map(mset -> new MsetDTO(mset.getId(), mset.getName(), mset.getUrl())) + .collect(Collectors.toList()); + return TaskMsetLinkResponse.of(task, msets); + } + +} From 97a1bf6e3b8ede6307640540e9fc390c259aed8e Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:11:23 +0900 Subject: [PATCH 3/8] Feat [#125] TaskMsetLinkResponse --- .../category/dto/TaskMsetLinkResponse.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 jaksim/src/main/java/org/sopt/jaksim/category/dto/TaskMsetLinkResponse.java diff --git a/jaksim/src/main/java/org/sopt/jaksim/category/dto/TaskMsetLinkResponse.java b/jaksim/src/main/java/org/sopt/jaksim/category/dto/TaskMsetLinkResponse.java new file mode 100644 index 0000000..1028e82 --- /dev/null +++ b/jaksim/src/main/java/org/sopt/jaksim/category/dto/TaskMsetLinkResponse.java @@ -0,0 +1,16 @@ +package org.sopt.jaksim.category.dto; + +import org.sopt.jaksim.mset.domain.Mset; +import org.sopt.jaksim.mset.domain.MsetDTO; +import org.sopt.jaksim.task.domain.Task; + +import java.util.List; + +public record TaskMsetLinkResponse( + Task task, + List msets +) { + public static TaskMsetLinkResponse of(Task task, List msets) { + return new TaskMsetLinkResponse(task, msets); + } +} From 179a954a3259bb28e6e1971925fafb3b77dfb345 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:11:32 +0900 Subject: [PATCH 4/8] Feat [#125] TaskMsetReposotory --- .../jaksim/mset/repository/TaskMsetRepository.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 jaksim/src/main/java/org/sopt/jaksim/mset/repository/TaskMsetRepository.java diff --git a/jaksim/src/main/java/org/sopt/jaksim/mset/repository/TaskMsetRepository.java b/jaksim/src/main/java/org/sopt/jaksim/mset/repository/TaskMsetRepository.java new file mode 100644 index 0000000..703b50f --- /dev/null +++ b/jaksim/src/main/java/org/sopt/jaksim/mset/repository/TaskMsetRepository.java @@ -0,0 +1,10 @@ +package org.sopt.jaksim.mset.repository; + +import org.sopt.jaksim.mset.domain.TaskMset; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TaskMsetRepository extends JpaRepository { + List findByTaskId(Long taskId); +} From c773c8274936e0454436c831ace6736b89469498 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:11:41 +0900 Subject: [PATCH 5/8] Feat [#125] TaskMsetService --- .../jaksim/mset/service/TaskMsetService.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 jaksim/src/main/java/org/sopt/jaksim/mset/service/TaskMsetService.java diff --git a/jaksim/src/main/java/org/sopt/jaksim/mset/service/TaskMsetService.java b/jaksim/src/main/java/org/sopt/jaksim/mset/service/TaskMsetService.java new file mode 100644 index 0000000..a7764d4 --- /dev/null +++ b/jaksim/src/main/java/org/sopt/jaksim/mset/service/TaskMsetService.java @@ -0,0 +1,21 @@ +package org.sopt.jaksim.mset.service; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.sopt.jaksim.mset.domain.CategoryMset; +import org.sopt.jaksim.mset.domain.TaskMset; +import org.sopt.jaksim.mset.repository.CategoryMsetRepository; +import org.sopt.jaksim.mset.repository.TaskMsetRepository; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service +@RequiredArgsConstructor +public class TaskMsetService { + private final TaskMsetRepository taskMsetRepository; + public List getByTaskId(Long taskId) { + return taskMsetRepository.findByTaskId(taskId); + } +} From d7444a9fde65842bbc050a0619ce32e41a5e6614 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:12:12 +0900 Subject: [PATCH 6/8] =?UTF-8?q?Feat=20[#125]=20TaskService=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/sopt/jaksim/task/service/TaskService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jaksim/src/main/java/org/sopt/jaksim/task/service/TaskService.java b/jaksim/src/main/java/org/sopt/jaksim/task/service/TaskService.java index 5af48f4..f4e0d5a 100644 --- a/jaksim/src/main/java/org/sopt/jaksim/task/service/TaskService.java +++ b/jaksim/src/main/java/org/sopt/jaksim/task/service/TaskService.java @@ -2,11 +2,14 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.sopt.jaksim.category.domain.Category; import org.sopt.jaksim.category.domain.CategoryTask; import org.sopt.jaksim.category.dto.TaskWithTaskTimer; import org.sopt.jaksim.category.repository.CategoryTaskRepository; import org.sopt.jaksim.global.exception.NotFoundException; import org.sopt.jaksim.global.message.ErrorMessage; +import org.sopt.jaksim.mset.repository.TaskMsetRepository; +import org.sopt.jaksim.mset.service.MsetService; import org.sopt.jaksim.task.domain.Task; import org.sopt.jaksim.task.dto.TaskCreateRequest; import org.sopt.jaksim.task.domain.TodoTask; @@ -24,6 +27,9 @@ public class TaskService { private final TaskRepository taskRepository; private final CategoryTaskRepository categoryTaskRepository; + private final TaskMsetRepository taskMsetRepository; + private final MsetService msetService; + private final TaskService taskService; public Task getTaskById(Long taskId) { return taskRepository.findById(taskId).orElseThrow( @@ -64,5 +70,4 @@ public List getTasksByTodoTask(List todoTaskList) { List taskIdList = todoTaskList.stream().map(TodoTask::getTaskId).collect(Collectors.toList()); return taskRepository.findAllById(taskIdList); } - } \ No newline at end of file From 042c65e37def261fdae4d38a665add202788d117 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:12:23 +0900 Subject: [PATCH 7/8] =?UTF-8?q?Feat=20[#125]=20MsetApiController=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/sopt/jaksim/mset/api/MsetApiController.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/jaksim/src/main/java/org/sopt/jaksim/mset/api/MsetApiController.java b/jaksim/src/main/java/org/sopt/jaksim/mset/api/MsetApiController.java index 767821e..8b5a67e 100644 --- a/jaksim/src/main/java/org/sopt/jaksim/mset/api/MsetApiController.java +++ b/jaksim/src/main/java/org/sopt/jaksim/mset/api/MsetApiController.java @@ -5,7 +5,9 @@ import org.apache.coyote.Response; import org.sopt.jaksim.category.api.CategoryApi; import org.sopt.jaksim.category.dto.CategoryMsetLinkResponse; +import org.sopt.jaksim.category.dto.TaskMsetLinkResponse; import org.sopt.jaksim.category.facade.CategoryMsetFacade; +import org.sopt.jaksim.category.facade.TaskMsetFacade; import org.sopt.jaksim.global.common.ApiResponseUtil; import org.sopt.jaksim.global.common.BaseResponse; import org.sopt.jaksim.global.message.SuccessMessage; @@ -21,6 +23,7 @@ @RequestMapping("/api/v1") public class MsetApiController implements MsetApi { private final CategoryMsetFacade categoryMsetFacade; + private final TaskMsetFacade taskMsetFacade; @GetMapping("/mset/categories/{categoryId}") @Override @@ -28,4 +31,11 @@ public ResponseEntity> getFromOtherCategory(@PathVariable("categ CategoryMsetLinkResponse response = categoryMsetFacade.getFromOtherCategory(categoryId); return ApiResponseUtil.success(SuccessMessage.SUCCESS, response); } + + @GetMapping("/mset/tasks/{taskId}") + //@Override + public ResponseEntity> getFromOtherTask(@PathVariable("taskId") Long taskId) { + TaskMsetLinkResponse response = taskMsetFacade.getFromOtherTask(taskId); + return ApiResponseUtil.success(SuccessMessage.SUCCESS, response); + } } From 760e33db66003a97733e1174537d858674b98407 Mon Sep 17 00:00:00 2001 From: eunseo5343 <130284467+eunseo5343@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:12:30 +0900 Subject: [PATCH 8/8] =?UTF-8?q?Feat=20[#125]=20=EC=9E=90=EC=9E=98=ED=95=9C?= =?UTF-8?q?=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sopt/jaksim/category/facade/CategoryTaskFacade.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/jaksim/src/main/java/org/sopt/jaksim/category/facade/CategoryTaskFacade.java b/jaksim/src/main/java/org/sopt/jaksim/category/facade/CategoryTaskFacade.java index 413ffc9..7510a25 100644 --- a/jaksim/src/main/java/org/sopt/jaksim/category/facade/CategoryTaskFacade.java +++ b/jaksim/src/main/java/org/sopt/jaksim/category/facade/CategoryTaskFacade.java @@ -3,11 +3,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.sopt.jaksim.category.domain.Category; -import org.sopt.jaksim.category.dto.CategoryCheckResponse; -import org.sopt.jaksim.category.dto.CategoryTaskLink; -import org.sopt.jaksim.category.dto.FilteredResourceResponse; -import org.sopt.jaksim.category.dto.TaskWithTaskTimer; +import org.sopt.jaksim.category.dto.*; import org.sopt.jaksim.category.service.CategoryService; +import org.sopt.jaksim.mset.domain.CategoryMset; +import org.sopt.jaksim.mset.domain.Mset; +import org.sopt.jaksim.mset.domain.TaskMset; +import org.sopt.jaksim.mset.service.CategoryMsetService; import org.sopt.jaksim.task.domain.Task; import org.sopt.jaksim.task.domain.TaskTimer; import org.sopt.jaksim.task.service.TaskService;