Skip to content

Commit b13bd55

Browse files
authored
Merge pull request #30 from TEAM-DAWM/feat/28
[feat] Task �상세조회 GET API 구현
2 parents 5636a4f + 0203772 commit b13bd55

File tree

3 files changed

+39
-5
lines changed

3 files changed

+39
-5
lines changed

src/main/java/nutshell/server/controller/TaskController.java

+9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import lombok.RequiredArgsConstructor;
44
import nutshell.server.annotation.UserId;
55
import nutshell.server.dto.task.TaskCreateDto;
6+
import nutshell.server.dto.task.TaskDto;
67
import nutshell.server.service.task.TaskService;
78
import org.springframework.http.ResponseEntity;
89
import org.springframework.web.bind.annotation.*;
@@ -31,4 +32,12 @@ public ResponseEntity<Void> deleteTask(
3132
taskService.removeTask(userId, taskId);
3233
return ResponseEntity.noContent().build();
3334
}
35+
36+
@GetMapping("/tasks/{taskId}")
37+
public ResponseEntity<TaskDto> getTask(
38+
@UserId final Long userId,
39+
@PathVariable Long taskId
40+
){
41+
return ResponseEntity.ok(taskService.getTaskDetails(userId, taskId));
42+
}
3443
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package nutshell.server.dto.task;
2+
import lombok.Builder;
3+
4+
@Builder
5+
public record TaskDto(
6+
String name,
7+
String description,
8+
TaskCreateDto.DeadLine deadLine,
9+
String status
10+
) {
11+
}

src/main/java/nutshell/server/service/task/TaskService.java

+19-5
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
import nutshell.server.domain.Task;
55
import nutshell.server.domain.User;
66
import nutshell.server.dto.task.TaskCreateDto;
7-
import nutshell.server.dto.task.TaskResponse;
7+
import nutshell.server.dto.task.TaskDto;
88
import nutshell.server.service.user.UserRetriever;
99
import org.springframework.stereotype.Service;
1010
import org.springframework.transaction.annotation.Transactional;
11-
11+
import java.time.LocalDate;
1212
import java.time.LocalDateTime;
1313

1414
@Service
@@ -25,9 +25,10 @@ public Task createTask(final Long userId, final TaskCreateDto taskCreateDto){
2525
User user = userRetriever.findByUserId(userId);
2626

2727
LocalDateTime deadLine = taskCreateDto.deadLine() != null
28-
? taskCreateDto.deadLine().date()
29-
.withHour(Integer.parseInt(taskCreateDto.deadLine().time().split(":")[0]))
30-
.withMinute(Integer.parseInt(taskCreateDto.deadLine().time().split(":")[1]))
28+
? taskCreateDto.deadLine().date().atTime(
29+
Integer.parseInt(taskCreateDto.deadLine().time().split(":")[0]),
30+
Integer.parseInt(taskCreateDto.deadLine().time().split(":")[1])
31+
)
3132
: null; //null 체크 안하면 에러남!
3233

3334
Task task = Task.builder()
@@ -40,8 +41,21 @@ public Task createTask(final Long userId, final TaskCreateDto taskCreateDto){
4041

4142
@Transactional
4243
public void removeTask(final Long userId, final Long taskId) {
44+
User user = userRetriever.findByUserId(userId);
4345
Task task = taskRetriever.findTaskByTaskId(taskId);
4446
taskRemover.deleteTask(task);
4547
}
4648

49+
public TaskDto getTaskDetails(final Long userId, final Long taskId){
50+
User user = userRetriever.findByUserId(userId);
51+
Task task = taskRetriever.findTaskByTaskId(taskId);
52+
LocalDate date = task.getDeadLine() != null ? task.getDeadLine().toLocalDate() : null;
53+
String time = task.getDeadLine() != null ? task.getDeadLine().getHour() + ":" + task.getDeadLine().getMinute() : null;
54+
55+
return TaskDto.builder().name(task.getName())
56+
.description(task.getDescription())
57+
.deadLine(new TaskCreateDto.DeadLine(date, time))
58+
.status(task.getStatus().getContent())
59+
.build();
60+
}
4761
}

0 commit comments

Comments
 (0)