Skip to content

Commit 7e74660

Browse files
committed
CLAP-58 Fix: mapper에 존재하는 작업 생성 로직 도메인 레벨로 변경
1 parent ac760e3 commit 7e74660

File tree

6 files changed

+57
-40
lines changed

6 files changed

+57
-40
lines changed

src/main/java/clap/server/application/Task/CreateTaskService.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import clap.server.adapter.inbound.web.dto.task.CreateTaskRequest;
44
import clap.server.adapter.inbound.web.dto.task.CreateAndUpdateTaskResponse;
55

6-
import clap.server.application.mapper.AttachmentMapper;
76
import clap.server.application.mapper.TaskMapper;
87
import clap.server.application.port.inbound.domain.CategoryService;
98
import clap.server.application.port.inbound.domain.MemberService;
@@ -37,11 +36,10 @@ public class CreateTaskService implements CreateTaskUsecase {
3736
public CreateAndUpdateTaskResponse createTask(Long requesterId, CreateTaskRequest createTaskRequest) {
3837
Member member = memberService.findActiveMember(requesterId);
3938
Category category = categoryService.findById(createTaskRequest.categoryId());
40-
41-
Task task = TaskMapper.toTask(member, category, createTaskRequest.title(), createTaskRequest.description());
39+
Task task = Task.createTask(member, category, createTaskRequest.title(), createTaskRequest.description());
4240
Task savedTask = commandTaskPort.save(task);
4341

44-
List<Attachment> attachments = AttachmentMapper.toCreateAttachments(savedTask, createTaskRequest.fileUrls());
42+
List<Attachment> attachments = Attachment.createAttachments(savedTask, createTaskRequest.fileUrls());
4543
commandAttachmentPort.saveAll(attachments);
4644

4745
return TaskMapper.toCreateAndUpdateTaskResponse(savedTask);

src/main/java/clap/server/application/Task/UpdateTaskService.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package clap.server.application.Task;
22

3-
import clap.server.adapter.inbound.web.dto.task.AttachmentRequest;
43
import clap.server.adapter.inbound.web.dto.task.CreateAndUpdateTaskResponse;
54
import clap.server.adapter.inbound.web.dto.task.UpdateTaskRequest;
65
import clap.server.application.mapper.AttachmentMapper;
@@ -23,7 +22,6 @@
2322
import org.springframework.transaction.annotation.Transactional;
2423

2524
import java.util.List;
26-
import java.util.Objects;
2725

2826

2927

@@ -46,13 +44,13 @@ public CreateAndUpdateTaskResponse updateTask(Long requesterId, UpdateTaskReques
4644
Category category = categoryService.findById(updateTaskRequest.categoryId());
4745
Task task = taskService.findById(updateTaskRequest.taskId());
4846

49-
Task updatedTask = TaskMapper.toUpdatedTask(task,member, category, updateTaskRequest.title(), updateTaskRequest.description());
47+
Task updatedTask = Task.updateTask(task, member, category, updateTaskRequest.title(), updateTaskRequest.description());
5048
Task savedTask = commandTaskPort.save(updatedTask);
5149

5250
List<Long> attachmentIds = AttachmentMapper.toAttachmentIds(updateTaskRequest.attachmentRequests());
5351
commandAttachmentPort.deleteByIds(attachmentIds);
5452

55-
List<Attachment> attachments = AttachmentMapper.toUpdateAttachments(savedTask, updateTaskRequest.attachmentRequests());
53+
List<Attachment> attachments = Attachment.updateAttachments(savedTask, updateTaskRequest.attachmentRequests());
5654
commandAttachmentPort.saveAll(attachments);
5755
return TaskMapper.toCreateAndUpdateTaskResponse(savedTask);
5856
}

src/main/java/clap/server/application/mapper/AttachmentMapper.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,6 @@ private AttachmentMapper() {
1515
throw new IllegalArgumentException();
1616
}
1717

18-
public static List<Attachment> toCreateAttachments(Task task, List<String> fileUrls) {
19-
return fileUrls.stream()
20-
.map(fileUrl -> Attachment.builder()
21-
.task(task)
22-
.fileUrl(fileUrl)
23-
.originalName("파일 이름")
24-
.fileSize("16MB") //TODO: 하드코딩 제거
25-
.build())
26-
.collect(Collectors.toList());
27-
}
28-
29-
public static List<Attachment> toUpdateAttachments(Task task, List<AttachmentRequest> attachmentRequests) {
30-
return attachmentRequests.stream()
31-
.map(request -> Attachment.builder()
32-
.task(task)
33-
.fileUrl(request.fileUrl())
34-
.originalName("수정된 파일 이름")
35-
.fileSize("17MB")
36-
.build())
37-
.collect(Collectors.toList());
38-
}
3918

4019

4120
public static List<Long> toAttachmentIds(List<AttachmentRequest> attachmentRequests) {

src/main/java/clap/server/application/mapper/TaskMapper.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,7 @@ private TaskMapper() {
2121
throw new IllegalArgumentException();
2222
}
2323
private static final String formattedDateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmm"));
24-
public static Task toTask(Member member, Category category, String title, String description) {
2524

26-
return Task.builder()
27-
.title(title)
28-
.description(description)
29-
.category(category)
30-
.requester(member)
31-
.taskStatus(TaskStatus.REQUESTED)
32-
.taskCode(category.getMainCategory().getCode() + formattedDateTime)
33-
.build();
34-
}
3525
public static Task toUpdatedTask(Task task, Member member, Category category, String title, String description) {
3626

3727
return Task.builder()

src/main/java/clap/server/domain/model/task/Attachment.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
package clap.server.domain.model.task;
22

3+
import clap.server.adapter.inbound.web.dto.task.AttachmentRequest;
34
import clap.server.domain.model.common.BaseTime;
45
import lombok.AccessLevel;
56
import lombok.Getter;
67
import lombok.NoArgsConstructor;
78
import lombok.experimental.SuperBuilder;
89

10+
import java.util.List;
11+
import java.util.stream.Collectors;
12+
913
@Getter
1014
@SuperBuilder
1115
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@@ -16,4 +20,25 @@ public class Attachment extends BaseTime {
1620
private String originalName;
1721
private String fileUrl;
1822
private String fileSize;
19-
}
23+
24+
public static List<Attachment> createAttachments(Task task, List<String> fileUrls) {
25+
return fileUrls.stream()
26+
.map(fileUrl -> Attachment.builder()
27+
.task(task)
28+
.fileUrl(fileUrl)
29+
.originalName("파일 이름")
30+
.fileSize("16MB") //TODO: 하드코딩 제거
31+
.build())
32+
.collect(Collectors.toList());
33+
}
34+
35+
public static List<Attachment> updateAttachments(Task task, List<AttachmentRequest> attachmentRequests) {
36+
return attachmentRequests.stream()
37+
.map(request -> Attachment.builder()
38+
.task(task)
39+
.fileUrl(request.fileUrl())
40+
.originalName("수정된 파일 이름")
41+
.fileSize("17MB")
42+
.build())
43+
.collect(Collectors.toList());
44+
}}

src/main/java/clap/server/domain/model/task/Task.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import clap.server.domain.model.common.BaseTime;
55
import clap.server.domain.model.member.Member;
66
import lombok.AccessLevel;
7+
import lombok.Builder;
78
import lombok.Getter;
89
import lombok.NoArgsConstructor;
910
import lombok.experimental.SuperBuilder;
1011

1112
import java.time.LocalDateTime;
13+
import java.time.format.DateTimeFormatter;
1214

1315
@Getter
1416
@SuperBuilder
@@ -27,4 +29,29 @@ public class Task extends BaseTime {
2729
private Member reviewer;
2830
private LocalDateTime dueDate;
2931
private LocalDateTime completedAt;
32+
33+
public static Task createTask(Member member, Category category, String title, String description) {
34+
return Task.builder()
35+
.requester(member)
36+
.category(category)
37+
.title(title)
38+
.description(description)
39+
.taskStatus(TaskStatus.REQUESTED)
40+
.taskCode(category.getMainCategory().getCode() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmm")))
41+
.build();
42+
}
43+
44+
public static Task updateTask(Task task, Member member, Category category, String title, String description) {
45+
46+
return Task.builder()
47+
.taskId(task.getTaskId())
48+
.requester(member)
49+
.category(category)
50+
.title(title)
51+
.description(description)
52+
.taskStatus(TaskStatus.REQUESTED)
53+
.taskCode(category.getMainCategory().getCode() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmm")))
54+
.build();
55+
}
56+
3057
}

0 commit comments

Comments
 (0)