From e419160b85f475427e62d269a8680932a50c6400 Mon Sep 17 00:00:00 2001 From: jiyun Date: Tue, 28 May 2024 22:34:03 +0900 Subject: [PATCH] [Refactor] return categoryId --- .../todolist/category/CategoryController.java | 2 +- .../todolist/category/CategoryService.java | 7 ++-- .../todolist/responseDTO/ResponseTodoDTO.java | 4 ++- .../java/com/jiyunio/todolist/todo/Todo.java | 18 +++++------ .../jiyunio/todolist/todo/TodoController.java | 7 ++-- .../jiyunio/todolist/todo/TodoService.java | 11 +++---- .../todolist/todo/dto/CreateTodoDTO.java | 3 ++ .../jiyunio/todolist/todo/dto/GetTodoDTO.java | 32 ------------------- ...dateTodoDTO.java => GetUpdateTodoDTO.java} | 17 +++++++++- 9 files changed, 44 insertions(+), 57 deletions(-) delete mode 100644 src/main/java/com/jiyunio/todolist/todo/dto/GetTodoDTO.java rename src/main/java/com/jiyunio/todolist/todo/dto/{UpdateTodoDTO.java => GetUpdateTodoDTO.java} (58%) diff --git a/src/main/java/com/jiyunio/todolist/category/CategoryController.java b/src/main/java/com/jiyunio/todolist/category/CategoryController.java index 1b8270f..da23e06 100644 --- a/src/main/java/com/jiyunio/todolist/category/CategoryController.java +++ b/src/main/java/com/jiyunio/todolist/category/CategoryController.java @@ -29,7 +29,7 @@ public ResponseEntity createCategory(@Parameter(description @GetMapping("/{memberId}") @Operation(summary = "카테고리 조회") - public List getCategory(@Parameter(description = "member의 id") @PathVariable Long memberId) { + public List getCategory(@Parameter(description = "member의 id") @PathVariable Long memberId) { return categoryService.getCategory(memberId); } diff --git a/src/main/java/com/jiyunio/todolist/category/CategoryService.java b/src/main/java/com/jiyunio/todolist/category/CategoryService.java index 2688cd3..96390ec 100644 --- a/src/main/java/com/jiyunio/todolist/category/CategoryService.java +++ b/src/main/java/com/jiyunio/todolist/category/CategoryService.java @@ -37,12 +37,13 @@ public ResponseCategoryDTO createCategory(Long memberId, CategoryDTO categoryDTO .build(); } - public List getCategory(Long memberId) { + public List getCategory(Long memberId) { List categories = categoryRepository.findByMemberId(memberId); - List getCategoryDTO = new ArrayList<>(); + List getCategoryDTO = new ArrayList<>(); for (Category category : categories) { - getCategoryDTO.add(CategoryDTO.builder() + getCategoryDTO.add(ResponseCategoryDTO.builder() + .categoryId(category.getId()) .content(category.getContent()) .color(category.getColor()) .build()); diff --git a/src/main/java/com/jiyunio/todolist/responseDTO/ResponseTodoDTO.java b/src/main/java/com/jiyunio/todolist/responseDTO/ResponseTodoDTO.java index 4a6191a..9250508 100644 --- a/src/main/java/com/jiyunio/todolist/responseDTO/ResponseTodoDTO.java +++ b/src/main/java/com/jiyunio/todolist/responseDTO/ResponseTodoDTO.java @@ -16,15 +16,17 @@ public class ResponseTodoDTO { private String category; private LocalDate writeDate; private LocalDate setDate; + private String color; @Builder protected ResponseTodoDTO(Long todoId, String content, boolean checked, - String category, LocalDate writeDate, LocalDate setDate){ + String category, LocalDate writeDate, LocalDate setDate, String color){ this.todoId = todoId; this.content = content; this.checked = checked; this.category = category; this.writeDate = writeDate; this.setDate = setDate; + this.color = color; } } diff --git a/src/main/java/com/jiyunio/todolist/todo/Todo.java b/src/main/java/com/jiyunio/todolist/todo/Todo.java index 4021981..1267802 100644 --- a/src/main/java/com/jiyunio/todolist/todo/Todo.java +++ b/src/main/java/com/jiyunio/todolist/todo/Todo.java @@ -1,7 +1,7 @@ package com.jiyunio.todolist.todo; import com.jiyunio.todolist.member.Member; -import com.jiyunio.todolist.todo.dto.UpdateTodoDTO; +import com.jiyunio.todolist.todo.dto.GetUpdateTodoDTO; import jakarta.persistence.*; import lombok.AccessLevel; import lombok.Builder; @@ -20,7 +20,7 @@ public class Todo { private Long id; @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "member Id") + @JoinColumn(name = "memberId") private Member member; @Lob // 길이 제한 X @@ -44,11 +44,11 @@ protected Todo(Member member, String content, Boolean checked, String category, this.setDate = setDate; } - protected void updateTodo(UpdateTodoDTO updateTodoDto) { - this.content = updateTodoDto.getContent(); - this.checked = updateTodoDto.getChecked(); - this.writeDate = updateTodoDto.getWriteDate(); - this.setDate = updateTodoDto.getSetDate(); - this.category = updateTodoDto.getCategory(); + protected void updateTodo(GetUpdateTodoDTO getUpdateTodoDto) { + this.content = getUpdateTodoDto.getContent(); + this.checked = getUpdateTodoDto.getChecked(); + this.writeDate = getUpdateTodoDto.getWriteDate(); + this.setDate = getUpdateTodoDto.getSetDate(); + this.category = getUpdateTodoDto.getCategory(); } -} +} \ No newline at end of file diff --git a/src/main/java/com/jiyunio/todolist/todo/TodoController.java b/src/main/java/com/jiyunio/todolist/todo/TodoController.java index 773e6c9..6cfa65e 100644 --- a/src/main/java/com/jiyunio/todolist/todo/TodoController.java +++ b/src/main/java/com/jiyunio/todolist/todo/TodoController.java @@ -3,8 +3,7 @@ import com.jiyunio.todolist.responseDTO.ResponseDTO; import com.jiyunio.todolist.responseDTO.ResponseTodoDTO; import com.jiyunio.todolist.todo.dto.CreateTodoDTO; -import com.jiyunio.todolist.todo.dto.GetTodoDTO; -import com.jiyunio.todolist.todo.dto.UpdateTodoDTO; +import com.jiyunio.todolist.todo.dto.GetUpdateTodoDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -31,13 +30,13 @@ public ResponseEntity createTodo(@Parameter(description = "memb @GetMapping("/{memberId}") @Operation(summary = "todo 조회") - public List getTodo(@Parameter(description = "member의 id") @PathVariable Long memberId) { + public List getTodo(@Parameter(description = "member의 id") @PathVariable Long memberId) { return todoService.getTodo(memberId); } @PutMapping("/{todoId}") @Operation(summary = "todo 수정") - public ResponseEntity updateTodo(@Parameter(description = "todo의 id") @PathVariable Long todoId, @Valid @RequestBody UpdateTodoDTO updateTodo) { + public ResponseEntity updateTodo(@Parameter(description = "todo의 id") @PathVariable Long todoId, @Valid @RequestBody GetUpdateTodoDTO updateTodo) { return ResponseEntity.ok(todoService.updateTodo(todoId, updateTodo)); } diff --git a/src/main/java/com/jiyunio/todolist/todo/TodoService.java b/src/main/java/com/jiyunio/todolist/todo/TodoService.java index 2bca561..247ecbd 100644 --- a/src/main/java/com/jiyunio/todolist/todo/TodoService.java +++ b/src/main/java/com/jiyunio/todolist/todo/TodoService.java @@ -6,8 +6,7 @@ import com.jiyunio.todolist.member.MemberRepository; import com.jiyunio.todolist.responseDTO.ResponseTodoDTO; import com.jiyunio.todolist.todo.dto.CreateTodoDTO; -import com.jiyunio.todolist.todo.dto.GetTodoDTO; -import com.jiyunio.todolist.todo.dto.UpdateTodoDTO; +import com.jiyunio.todolist.todo.dto.GetUpdateTodoDTO; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; @@ -47,12 +46,12 @@ public ResponseTodoDTO createTodo(Long memberId, CreateTodoDTO createTodo) { .build(); } - public List getTodo(Long memberId) { + public List getTodo(Long memberId) { List todoList = todoRepository.findByMemberId(memberId); - List getTodoList = new ArrayList<>(); + List getTodoList = new ArrayList<>(); for (Todo todo : todoList) { - getTodoList.add(GetTodoDTO.builder() + getTodoList.add(GetUpdateTodoDTO.builder() .content(todo.getContent()) .category(todo.getCategory()) .writeDate(todo.getWriteDate()) @@ -63,7 +62,7 @@ public List getTodo(Long memberId) { return getTodoList; } - public ResponseTodoDTO updateTodo(Long todoId, UpdateTodoDTO updateTodo) { + public ResponseTodoDTO updateTodo(Long todoId, GetUpdateTodoDTO updateTodo) { Todo todo = todoRepository.findById(todoId).get(); todo.updateTodo(updateTodo); todoRepository.save(todo); diff --git a/src/main/java/com/jiyunio/todolist/todo/dto/CreateTodoDTO.java b/src/main/java/com/jiyunio/todolist/todo/dto/CreateTodoDTO.java index 90182c3..83ea356 100644 --- a/src/main/java/com/jiyunio/todolist/todo/dto/CreateTodoDTO.java +++ b/src/main/java/com/jiyunio/todolist/todo/dto/CreateTodoDTO.java @@ -23,4 +23,7 @@ public class CreateTodoDTO { @NotNull(message = "설정 일자를 선택해주세요.") private LocalDate setDate; + + @NotBlank + private String color; } diff --git a/src/main/java/com/jiyunio/todolist/todo/dto/GetTodoDTO.java b/src/main/java/com/jiyunio/todolist/todo/dto/GetTodoDTO.java deleted file mode 100644 index 75fc145..0000000 --- a/src/main/java/com/jiyunio/todolist/todo/dto/GetTodoDTO.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.jiyunio.todolist.todo.dto; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Builder; -import lombok.Getter; -import lombok.Setter; - -import java.time.LocalDate; - -@Getter -@Setter -@Schema(description = "todo 조회") -public class GetTodoDTO { - private String content; - - private Boolean checked; - - private String category; - - private LocalDate writeDate; - - private LocalDate setDate; - - @Builder - protected GetTodoDTO(String content, Boolean checked, String category, LocalDate writeDate, LocalDate setDate) { - this.content = content; - this.checked = checked; - this.category = category; - this.writeDate = writeDate; - this.setDate = setDate; - } -} diff --git a/src/main/java/com/jiyunio/todolist/todo/dto/UpdateTodoDTO.java b/src/main/java/com/jiyunio/todolist/todo/dto/GetUpdateTodoDTO.java similarity index 58% rename from src/main/java/com/jiyunio/todolist/todo/dto/UpdateTodoDTO.java rename to src/main/java/com/jiyunio/todolist/todo/dto/GetUpdateTodoDTO.java index a4d0dcd..b6e285c 100644 --- a/src/main/java/com/jiyunio/todolist/todo/dto/UpdateTodoDTO.java +++ b/src/main/java/com/jiyunio/todolist/todo/dto/GetUpdateTodoDTO.java @@ -3,6 +3,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import lombok.Builder; import lombok.Getter; import lombok.Setter; @@ -11,7 +12,7 @@ @Getter @Setter @Schema(description = "todo 수정") -public class UpdateTodoDTO { +public class GetUpdateTodoDTO { @NotBlank(message = "todo를 작성해주세요.") private String content; @@ -26,4 +27,18 @@ public class UpdateTodoDTO { @NotNull(message = "설정 일자를 선택해주세요.") private LocalDate setDate; + + @NotBlank + private String color; + + @Builder + protected GetUpdateTodoDTO(String content, Boolean checked, String category, + LocalDate writeDate, LocalDate setDate, String color) { + this.content = content; + this.checked = checked; + this.category = category; + this.writeDate = writeDate; + this.setDate = setDate; + this.color = color; + } }