From 25e46c4952b7eb6009384918d55e405fd4ace79f Mon Sep 17 00:00:00 2001 From: parkjaehak Date: Wed, 22 Jan 2025 14:24:47 +0900 Subject: [PATCH 1/5] =?UTF-8?q?CLAP-56=20Feat:=20=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EB=82=B4=EC=97=AD=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20=EC=A1=B0=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clap/server/HealthCheckController.java | 2 +- .../web/dto/task/AttachmentResponse.java | 10 +++++ .../web/dto/task/FindTaskDetailsResponse.java | 25 ++++++++++++ .../web/dto/task/FindTaskListRequest.java | 2 +- .../web/dto/task/FindTaskListResponse.java | 2 +- .../web/task/CreateTaskController.java | 3 +- .../web/task/FindTaskDetailsController.java | 26 +++++++++++++ .../web/task/FindTaskListController.java | 4 +- .../AttachmentPersistenceAdapter.java | 12 +++++- .../persistense/entity/task/TaskEntity.java | 3 +- .../repository/task/AttachmentRepository.java | 4 ++ .../server/application/CreateTaskService.java | 7 ++-- .../application/FindTaskDetailsService.java | 38 +++++++++++++++++++ ...tService.java => FindTaskListService.java} | 2 +- .../application/mapper/AttachmentMapper.java | 2 + .../server/application/mapper/TaskMapper.java | 37 ++++++++++++++++++ .../inbound/task/FindTaskDetailsUsecase.java | 9 +++++ .../outbound/task/LoadAttachmentPort.java | 10 +++++ .../server/task/FindTaskDetailsUsecase.java | 4 ++ 19 files changed, 190 insertions(+), 12 deletions(-) create mode 100644 src/main/java/clap/server/adapter/inbound/web/dto/task/AttachmentResponse.java create mode 100644 src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java create mode 100644 src/main/java/clap/server/adapter/inbound/web/task/FindTaskDetailsController.java create mode 100644 src/main/java/clap/server/application/FindTaskDetailsService.java rename src/main/java/clap/server/application/{FindTasklistService.java => FindTaskListService.java} (94%) create mode 100644 src/main/java/clap/server/application/port/inbound/task/FindTaskDetailsUsecase.java create mode 100644 src/main/java/clap/server/application/port/outbound/task/LoadAttachmentPort.java create mode 100644 src/test/java/clap/server/task/FindTaskDetailsUsecase.java diff --git a/src/main/java/clap/server/HealthCheckController.java b/src/main/java/clap/server/HealthCheckController.java index 3d041386..64625979 100644 --- a/src/main/java/clap/server/HealthCheckController.java +++ b/src/main/java/clap/server/HealthCheckController.java @@ -9,7 +9,7 @@ @RequestMapping("/health") public class HealthCheckController { @GetMapping - public ResponseEntity healthcheck(){ + public ResponseEntity healthcheck(){ return ResponseEntity.ok("health check"); } } diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/AttachmentResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/AttachmentResponse.java new file mode 100644 index 00000000..d2212586 --- /dev/null +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/AttachmentResponse.java @@ -0,0 +1,10 @@ +package clap.server.adapter.inbound.web.dto.task; + +import java.time.LocalDateTime; + +public record AttachmentResponse( + String fileName, + String fileSize, + String fileUrl, + LocalDateTime fileUploadedAt + ) {} \ No newline at end of file diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java new file mode 100644 index 00000000..41e9994c --- /dev/null +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java @@ -0,0 +1,25 @@ +package clap.server.adapter.inbound.web.dto.task; + +import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus; + +import java.time.LocalDateTime; +import java.util.List; + +public record FindTaskDetailsResponse( + Long taskId, + String taskCode, + LocalDateTime requestedAt, + LocalDateTime completedAt, + TaskStatus taskStatus, + String requesterNickName, + String requesterImageUrl, + String processorNickName, + String processorImageUrl, + String mainCategoryName, + String categoryName, + String title, + String description, + List attachmentResponses + + //TODO: taskhistory 및 comment 정보 추가 +) {} diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListRequest.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListRequest.java index 5b1112ba..13fe72cb 100644 --- a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListRequest.java +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListRequest.java @@ -4,7 +4,7 @@ import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus; public record FindTaskListRequest( - Integer term, //조회기간 + Integer term, //조회기간: 1주일, 1개월, 3개월 Long categoryId, Long mainCategoryId, String title, diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java index 5e5c5af8..66016935 100644 --- a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java @@ -7,7 +7,7 @@ public record FindTaskListResponse( Long taskId, String taskCode, - LocalDateTime createdAt, + LocalDateTime requestedAt, String mainCategoryName, String categoryName, String title, diff --git a/src/main/java/clap/server/adapter/inbound/web/task/CreateTaskController.java b/src/main/java/clap/server/adapter/inbound/web/task/CreateTaskController.java index 217327cd..260173f9 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/CreateTaskController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/CreateTaskController.java @@ -1,6 +1,7 @@ package clap.server.adapter.inbound.web.task; import clap.server.adapter.inbound.web.dto.task.CreateTaskRequest; +import clap.server.adapter.inbound.web.dto.task.CreateTaskResponse; import clap.server.application.port.inbound.task.CreateTaskUsecase; import clap.server.common.annotation.architecture.WebAdapter; import jakarta.validation.Valid; @@ -19,7 +20,7 @@ public class CreateTaskController { private static final Long memberId = 4L; @PostMapping - public ResponseEntity createTask( + public ResponseEntity createTask( @RequestBody @Valid CreateTaskRequest createTaskRequest){ return ResponseEntity.ok(taskCreateUsecase.createTask(memberId, createTaskRequest)); } diff --git a/src/main/java/clap/server/adapter/inbound/web/task/FindTaskDetailsController.java b/src/main/java/clap/server/adapter/inbound/web/task/FindTaskDetailsController.java new file mode 100644 index 00000000..9732a278 --- /dev/null +++ b/src/main/java/clap/server/adapter/inbound/web/task/FindTaskDetailsController.java @@ -0,0 +1,26 @@ +package clap.server.adapter.inbound.web.task; + +import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; +import clap.server.application.port.inbound.task.FindTaskDetailsUsecase; +import clap.server.common.annotation.architecture.WebAdapter; +import lombok.RequiredArgsConstructor; + +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@WebAdapter +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/tasks") +public class FindTaskDetailsController { + private final FindTaskDetailsUsecase taskDetailsUsecase; + private static final Long taskId = 3L; + private static final Long memberId = 4L; + + @GetMapping("/requests/details") + public ResponseEntity> getRequestedTaskDetails(){ + return ResponseEntity.ok(taskDetailsUsecase.findRequestedTaskDetails(memberId, taskId)); + } +} \ No newline at end of file diff --git a/src/main/java/clap/server/adapter/inbound/web/task/FindTaskListController.java b/src/main/java/clap/server/adapter/inbound/web/task/FindTaskListController.java index c0a71e34..0f03e04d 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/FindTaskListController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/FindTaskListController.java @@ -1,9 +1,11 @@ package clap.server.adapter.inbound.web.task; import clap.server.adapter.inbound.web.dto.task.FindTaskListRequest; +import clap.server.adapter.inbound.web.dto.task.FindTaskListResponse; import clap.server.application.port.inbound.task.FindTaskListUsecase; import clap.server.common.annotation.architecture.WebAdapter; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; @@ -19,7 +21,7 @@ public class FindTaskListController { @GetMapping("/requests") - public ResponseEntity getRequestedTaskList( + public ResponseEntity> getRequestedTaskList( @RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "20") int size, @RequestBody FindTaskListRequest findTaskListRequest){ diff --git a/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java b/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java index 8ac0e01e..a8f142a1 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java @@ -4,18 +4,20 @@ import clap.server.adapter.outbound.persistense.mapper.AttachmentPersistenceMapper; import clap.server.adapter.outbound.persistense.repository.task.AttachmentRepository; import clap.server.application.port.outbound.task.CommandAttachmentPort; +import clap.server.application.port.outbound.task.LoadAttachmentPort; import clap.server.common.annotation.architecture.PersistenceAdapter; import clap.server.domain.model.task.Attachment; import lombok.RequiredArgsConstructor; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; @PersistenceAdapter @RequiredArgsConstructor -public class AttachmentPersistenceAdapter implements CommandAttachmentPort { +public class AttachmentPersistenceAdapter implements CommandAttachmentPort, LoadAttachmentPort { private final AttachmentRepository attachmentRepository; private final AttachmentPersistenceMapper attachmentPersistenceMapper; @@ -34,4 +36,12 @@ public void saveAll(List attachments) { .collect(Collectors.toList()); attachmentRepository.saveAll(attachmentEntities); } + + @Override + public List findAllByTaskId(Long taskId) { + List attachmentEntities = attachmentRepository.findAllByTask_TaskId(taskId); + return attachmentEntities.stream() + .map(attachmentPersistenceMapper::toDomain) + .collect(Collectors.toList()); + } } diff --git a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskEntity.java b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskEntity.java index ad5df89e..21ffde35 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskEntity.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskEntity.java @@ -10,6 +10,8 @@ import lombok.experimental.SuperBuilder; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; @Entity @Table(name = "task") @@ -62,5 +64,4 @@ public class TaskEntity extends BaseTimeEntity { @Column private LocalDateTime completedAt; - } diff --git a/src/main/java/clap/server/adapter/outbound/persistense/repository/task/AttachmentRepository.java b/src/main/java/clap/server/adapter/outbound/persistense/repository/task/AttachmentRepository.java index 73667422..027ae3e0 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/repository/task/AttachmentRepository.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/repository/task/AttachmentRepository.java @@ -3,6 +3,10 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface AttachmentRepository extends JpaRepository { + List findAllByTask_TaskId(Long taskId); + } \ No newline at end of file diff --git a/src/main/java/clap/server/application/CreateTaskService.java b/src/main/java/clap/server/application/CreateTaskService.java index ce35926b..06db03ca 100644 --- a/src/main/java/clap/server/application/CreateTaskService.java +++ b/src/main/java/clap/server/application/CreateTaskService.java @@ -4,6 +4,7 @@ import clap.server.adapter.inbound.web.dto.task.CreateTaskResponse; import clap.server.application.mapper.AttachmentMapper; +import clap.server.application.mapper.TaskMapper; import clap.server.application.port.inbound.domain.CategoryService; import clap.server.application.port.inbound.domain.MemberService; import clap.server.application.port.inbound.task.CreateTaskUsecase; @@ -21,8 +22,6 @@ import java.util.List; -import static clap.server.application.mapper.TaskMapper.toCreateTaskResponse; -import static clap.server.application.mapper.TaskMapper.toTask; @ApplicationService @RequiredArgsConstructor @@ -40,12 +39,12 @@ public CreateTaskResponse createTask(Long requesterId, CreateTaskRequest createT Member member = memberService.findActiveMember(requesterId); Category category = categoryService.findById(createTaskRequest.categoryId()); - Task task = toTask(member, category, createTaskRequest.title(), createTaskRequest.description()); + Task task = TaskMapper.toTask(member, category, createTaskRequest.title(), createTaskRequest.description()); Task savedTask = commandTaskPort.save(task); List attachments = AttachmentMapper.toAttachments(savedTask, createTaskRequest.fileUrls()); commandAttachmentPort.saveAll(attachments); - return toCreateTaskResponse(savedTask); + return TaskMapper.toCreateTaskResponse(savedTask); } } \ No newline at end of file diff --git a/src/main/java/clap/server/application/FindTaskDetailsService.java b/src/main/java/clap/server/application/FindTaskDetailsService.java new file mode 100644 index 00000000..4edccb37 --- /dev/null +++ b/src/main/java/clap/server/application/FindTaskDetailsService.java @@ -0,0 +1,38 @@ +package clap.server.application; + +import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; +import clap.server.adapter.outbound.persistense.entity.task.TaskEntity; +import clap.server.application.mapper.TaskMapper; +import clap.server.application.port.inbound.domain.MemberService; +import clap.server.application.port.inbound.task.FindTaskDetailsUsecase; +import clap.server.application.port.outbound.task.LoadAttachmentPort; +import clap.server.application.port.outbound.task.LoadTaskPort; +import clap.server.common.annotation.architecture.ApplicationService; +import clap.server.domain.model.member.Member; +import clap.server.domain.model.task.Attachment; +import clap.server.domain.model.task.Task; +import clap.server.exception.ApplicationException; +import clap.server.exception.code.TaskErrorCode; +import lombok.RequiredArgsConstructor; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + + +@ApplicationService +@RequiredArgsConstructor +@Transactional(readOnly = true) +public class FindTaskDetailsService implements FindTaskDetailsUsecase { + private final MemberService memberService; + private final LoadTaskPort loadTaskPort; + private final LoadAttachmentPort loadAttachmentPort; + + @Override + public List findRequestedTaskDetails(final Long requesterId, final Long taskId) { + memberService.findActiveMember(requesterId); + Task task = loadTaskPort.findById(taskId) + .orElseThrow(()-> new ApplicationException(TaskErrorCode.TASK_NOT_FOUND)); + List attachments = loadAttachmentPort.findAllByTaskId(taskId); + return TaskMapper.toFindTaskDetailResponses(task, attachments); + } +} diff --git a/src/main/java/clap/server/application/FindTasklistService.java b/src/main/java/clap/server/application/FindTaskListService.java similarity index 94% rename from src/main/java/clap/server/application/FindTasklistService.java rename to src/main/java/clap/server/application/FindTaskListService.java index ea37d907..1c1ea864 100644 --- a/src/main/java/clap/server/application/FindTasklistService.java +++ b/src/main/java/clap/server/application/FindTaskListService.java @@ -21,7 +21,7 @@ @ApplicationService @RequiredArgsConstructor @Transactional(readOnly = true) -public class FindTasklistService implements FindTaskListUsecase { +public class FindTaskListService implements FindTaskListUsecase { private final MemberService memberService; private final LoadTaskPort loadTaskPort; diff --git a/src/main/java/clap/server/application/mapper/AttachmentMapper.java b/src/main/java/clap/server/application/mapper/AttachmentMapper.java index 242732c4..a048136c 100644 --- a/src/main/java/clap/server/application/mapper/AttachmentMapper.java +++ b/src/main/java/clap/server/application/mapper/AttachmentMapper.java @@ -1,5 +1,7 @@ package clap.server.application.mapper; +import clap.server.adapter.inbound.web.dto.task.AttachmentResponse; +import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; import clap.server.domain.model.task.Attachment; import clap.server.domain.model.task.Task; diff --git a/src/main/java/clap/server/application/mapper/TaskMapper.java b/src/main/java/clap/server/application/mapper/TaskMapper.java index 6742a58a..27b36709 100644 --- a/src/main/java/clap/server/application/mapper/TaskMapper.java +++ b/src/main/java/clap/server/application/mapper/TaskMapper.java @@ -1,13 +1,19 @@ package clap.server.application.mapper; +import clap.server.adapter.inbound.web.dto.task.AttachmentResponse; import clap.server.adapter.inbound.web.dto.task.CreateTaskResponse; +import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; import clap.server.adapter.inbound.web.dto.task.FindTaskListResponse; import clap.server.adapter.outbound.persistense.entity.task.constant.TaskStatus; import clap.server.domain.model.member.Member; +import clap.server.domain.model.task.Attachment; import clap.server.domain.model.task.Category; import clap.server.domain.model.task.Task; +import java.util.List; +import java.util.stream.Collectors; + public class TaskMapper { private TaskMapper() { throw new IllegalArgumentException(); @@ -41,4 +47,35 @@ public static FindTaskListResponse toFindTaskListResponse(Task task) { task.getCompletedAt() ); } + + public static List toFindTaskDetailResponses(Task task, List attachments){ + + List attachmentResponses = attachments.stream() + .map(attachment -> new AttachmentResponse( + attachment.getOriginalName(), + attachment.getFileSize(), + attachment.getFileUrl(), + attachment.getCreatedAt() + )) + .collect(Collectors.toList()); + + FindTaskDetailsResponse response = new FindTaskDetailsResponse( + task.getTaskId(), + task.getTaskCode(), + task.getCreatedAt(), + task.getCompletedAt(), + task.getTaskStatus(), + task.getRequester().getMemberInfo().getNickname(), + task.getRequester().getImageUrl(), + task.getProcessor() != null ? task.getProcessor().getMemberInfo().getNickname() : null, + task.getProcessor() != null ? task.getProcessor().getImageUrl() : null, + task.getCategory().getMainCategory().getName(), + task.getCategory().getName(), + task.getTitle(), + task.getDescription(), + attachmentResponses + ); + + return List.of(response); + } } diff --git a/src/main/java/clap/server/application/port/inbound/task/FindTaskDetailsUsecase.java b/src/main/java/clap/server/application/port/inbound/task/FindTaskDetailsUsecase.java new file mode 100644 index 00000000..0006c376 --- /dev/null +++ b/src/main/java/clap/server/application/port/inbound/task/FindTaskDetailsUsecase.java @@ -0,0 +1,9 @@ +package clap.server.application.port.inbound.task; + +import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; + +import java.util.List; + +public interface FindTaskDetailsUsecase { + List findRequestedTaskDetails(Long memberId, Long taskId); +} diff --git a/src/main/java/clap/server/application/port/outbound/task/LoadAttachmentPort.java b/src/main/java/clap/server/application/port/outbound/task/LoadAttachmentPort.java new file mode 100644 index 00000000..bd8d8df3 --- /dev/null +++ b/src/main/java/clap/server/application/port/outbound/task/LoadAttachmentPort.java @@ -0,0 +1,10 @@ +package clap.server.application.port.outbound.task; + +import clap.server.domain.model.task.Attachment; + +import java.util.List; + + +public interface LoadAttachmentPort { + List findAllByTaskId(Long task); +} diff --git a/src/test/java/clap/server/task/FindTaskDetailsUsecase.java b/src/test/java/clap/server/task/FindTaskDetailsUsecase.java new file mode 100644 index 00000000..6fc35e9d --- /dev/null +++ b/src/test/java/clap/server/task/FindTaskDetailsUsecase.java @@ -0,0 +1,4 @@ +package clap.server.task; + +public class FindTaskDetailsUsecase { +} From e42d5ee982bd242faaf5d4d0fd4283e95d5e82f1 Mon Sep 17 00:00:00 2001 From: parkjaehak Date: Wed, 22 Jan 2025 15:39:57 +0900 Subject: [PATCH 2/5] =?UTF-8?q?CLAP-56=20Fix:=20=EB=A7=A4=EA=B0=9C?= =?UTF-8?q?=EB=B3=80=EC=88=98=20final=20=EC=84=A4=EC=A0=95=EC=9D=84=20?= =?UTF-8?q?=ED=86=B5=ED=95=9C=20=EB=B6=88=EB=B3=80=EC=84=B1=20=EC=9C=A0?= =?UTF-8?q?=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outbound/persistense/AttachmentPersistenceAdapter.java | 2 +- .../outbound/persistense/entity/task/TaskHistoryEntity.java | 2 +- .../persistense/entity/task/TaskModificationInfo.java | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java b/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java index a8f142a1..f0f8d901 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/AttachmentPersistenceAdapter.java @@ -38,7 +38,7 @@ public void saveAll(List attachments) { } @Override - public List findAllByTaskId(Long taskId) { + public List findAllByTaskId(final Long taskId) { List attachmentEntities = attachmentRepository.findAllByTask_TaskId(taskId); return attachmentEntities.stream() .map(attachmentPersistenceMapper::toDomain) diff --git a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskHistoryEntity.java b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskHistoryEntity.java index cbb99cdc..709572c6 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskHistoryEntity.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskHistoryEntity.java @@ -26,7 +26,7 @@ public class TaskHistoryEntity extends BaseTimeEntity { @Embedded private TaskModificationInfo taskModificationInfo; - @ManyToOne(fetch = FetchType.LAZY) + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "comment_id") private CommentEntity comment; } diff --git a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskModificationInfo.java b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskModificationInfo.java index a953dc0e..5ee1dcf1 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskModificationInfo.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/TaskModificationInfo.java @@ -14,12 +14,12 @@ public class TaskModificationInfo { private TaskEntity task; @Column(name = "modified_field") - private String modifiedField; + private String modifiedField; //처리자(requestor) / 요청상태(taskStatus) -> task 상태 변경 혹은 처리 변경시에 taskhistory 테이블도 변경해야함 @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "modified_member_id") + @JoinColumn(name = "modified_member_id") //처리자가 바뀌는 경우 private MemberEntity member; @Column(name = "new_value") - private String newValue; + private String newValue; //상태가 바뀌는 경우 } From 4c4a60eb240b4481f56f2efef7cba724e1946940 Mon Sep 17 00:00:00 2001 From: parkjaehak Date: Wed, 22 Jan 2025 15:55:14 +0900 Subject: [PATCH 3/5] =?UTF-8?q?CLAP-56=20Fix:=20completedAt=EC=9D=84=20fin?= =?UTF-8?q?ishedAt=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/inbound/web/dto/task/FindTaskDetailsResponse.java | 2 +- .../adapter/inbound/web/dto/task/FindTaskListResponse.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java index 41e9994c..2e243487 100644 --- a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskDetailsResponse.java @@ -9,7 +9,7 @@ public record FindTaskDetailsResponse( Long taskId, String taskCode, LocalDateTime requestedAt, - LocalDateTime completedAt, + LocalDateTime finishedAt, TaskStatus taskStatus, String requesterNickName, String requesterImageUrl, diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java index 66016935..152624dd 100644 --- a/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java +++ b/src/main/java/clap/server/adapter/inbound/web/dto/task/FindTaskListResponse.java @@ -13,6 +13,6 @@ public record FindTaskListResponse( String title, String processorName, TaskStatus taskStatus, - LocalDateTime completedAt + LocalDateTime finishedAt ) { } From 1e1df0313ab3ea2ee0fb1b432501c8e2417c95e8 Mon Sep 17 00:00:00 2001 From: parkjaehak Date: Wed, 22 Jan 2025 16:02:20 +0900 Subject: [PATCH 4/5] =?UTF-8?q?CLAP-56=20Refactor:=20task=20=EA=B4=80?= =?UTF-8?q?=EB=A0=A8=20=EC=95=A0=ED=94=8C=EB=A6=AC=EC=BC=80=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EC=84=9C=EB=B9=84=EC=8A=A4=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EB=B3=91=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../clap/server/application/{ => Task}/CreateTaskService.java | 2 +- .../server/application/{ => Task}/FindTaskDetailsService.java | 2 +- .../clap/server/application/{ => Task}/FindTaskListService.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/main/java/clap/server/application/{ => Task}/CreateTaskService.java (98%) rename src/main/java/clap/server/application/{ => Task}/FindTaskDetailsService.java (97%) rename src/main/java/clap/server/application/{ => Task}/FindTaskListService.java (97%) diff --git a/src/main/java/clap/server/application/CreateTaskService.java b/src/main/java/clap/server/application/Task/CreateTaskService.java similarity index 98% rename from src/main/java/clap/server/application/CreateTaskService.java rename to src/main/java/clap/server/application/Task/CreateTaskService.java index 06db03ca..2ff71a34 100644 --- a/src/main/java/clap/server/application/CreateTaskService.java +++ b/src/main/java/clap/server/application/Task/CreateTaskService.java @@ -1,4 +1,4 @@ -package clap.server.application; +package clap.server.application.Task; import clap.server.adapter.inbound.web.dto.task.CreateTaskRequest; import clap.server.adapter.inbound.web.dto.task.CreateTaskResponse; diff --git a/src/main/java/clap/server/application/FindTaskDetailsService.java b/src/main/java/clap/server/application/Task/FindTaskDetailsService.java similarity index 97% rename from src/main/java/clap/server/application/FindTaskDetailsService.java rename to src/main/java/clap/server/application/Task/FindTaskDetailsService.java index 4edccb37..6c1c5f94 100644 --- a/src/main/java/clap/server/application/FindTaskDetailsService.java +++ b/src/main/java/clap/server/application/Task/FindTaskDetailsService.java @@ -1,4 +1,4 @@ -package clap.server.application; +package clap.server.application.Task; import clap.server.adapter.inbound.web.dto.task.FindTaskDetailsResponse; import clap.server.adapter.outbound.persistense.entity.task.TaskEntity; diff --git a/src/main/java/clap/server/application/FindTaskListService.java b/src/main/java/clap/server/application/Task/FindTaskListService.java similarity index 97% rename from src/main/java/clap/server/application/FindTaskListService.java rename to src/main/java/clap/server/application/Task/FindTaskListService.java index 1c1ea864..52c1af1f 100644 --- a/src/main/java/clap/server/application/FindTaskListService.java +++ b/src/main/java/clap/server/application/Task/FindTaskListService.java @@ -1,4 +1,4 @@ -package clap.server.application; +package clap.server.application.Task; import clap.server.adapter.inbound.web.dto.task.FindTaskListRequest; import clap.server.adapter.inbound.web.dto.task.FindTaskListResponse; From b7c9cfd973eaa15956ebbf222c53015e52aa2a15 Mon Sep 17 00:00:00 2001 From: parkjaehak Date: Wed, 22 Jan 2025 21:27:47 +0900 Subject: [PATCH 5/5] =?UTF-8?q?CLAP-56=20Fix:=20Attachment=EC=99=80=20Comm?= =?UTF-8?q?ent=20=EB=A7=A4=ED=95=91=20oneToOne=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../outbound/persistense/entity/task/AttachmentEntity.java | 2 +- src/main/resources/application.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/AttachmentEntity.java b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/AttachmentEntity.java index f25e3564..f350a3db 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/entity/task/AttachmentEntity.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/entity/task/AttachmentEntity.java @@ -28,7 +28,7 @@ public class AttachmentEntity extends BaseTimeEntity { @JoinColumn(name = "task_id") private TaskEntity task; - @ManyToOne(fetch = FetchType.LAZY) + @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "comment_id") private CommentEntity comment; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index d89f2b6d..90830453 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -13,7 +13,8 @@ spring: elasticsearch: uris: ${ELASTIC_URI:127.0.0.1:9200} -web.resources.add-mappings: false + web.resources.add-mappings: false + server: port: ${APPLICATION_PORT:8080}