OSDN Git Service

色々追加
[ngware/todo_java.git] / src / main / java / com / example / logic / TodoLogic.java
diff --git a/src/main/java/com/example/logic/TodoLogic.java b/src/main/java/com/example/logic/TodoLogic.java
new file mode 100644 (file)
index 0000000..5ab0afd
--- /dev/null
@@ -0,0 +1,59 @@
+package com.example.logic;\r
+\r
+import java.util.List;\r
+import java.util.stream.Collectors;\r
+\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.stereotype.Component;\r
+import org.springframework.util.ObjectUtils;\r
+\r
+import com.example.domain.TodoHeaderInfo;\r
+import com.example.domain.TodoListInfo;\r
+import com.example.dto.TodoHeaderDto;\r
+import com.example.dto.TodoListDto;\r
+import com.example.mapper.TodoHeaderMapper;\r
+import com.example.mapper.TodoListMapper;\r
+\r
+@Component\r
+public class TodoLogic {\r
+       @Autowired\r
+       private TodoHeaderMapper todoHeaderMapper;\r
+       @Autowired\r
+       private TodoListMapper todoListMapper;\r
+\r
+       public List<TodoHeaderInfo> findTodoHeaders() {\r
+               return toTodoHeaderInfo(todoHeaderMapper.findTodoHeaders());\r
+       }\r
+       \r
+       private List<TodoHeaderInfo> toTodoHeaderInfo(List<TodoHeaderDto> list) {\r
+               return list.stream().map(this::toTodoHeaderInfo).collect(Collectors.toList());\r
+       }\r
+       \r
+       private TodoHeaderInfo toTodoHeaderInfo(TodoHeaderDto dto) {\r
+               return TodoHeaderInfo.builder()\r
+                               .id(dto.getId())\r
+                               .name(dto.getName()).build();\r
+       }\r
+       \r
+       public List<TodoListInfo> findTodoLists(String headerId) {\r
+               if(ObjectUtils.isEmpty(headerId)) {\r
+                       throw new RuntimeException("headerId is Empty!");\r
+               }\r
+               return toTodoListInfo(todoListMapper.findTodoLists(Integer.valueOf(headerId)));\r
+       }\r
+       \r
+       private List<TodoListInfo> toTodoListInfo(List<TodoListDto> list) {\r
+               return list.stream().map(this::toTodoListInfo).collect(Collectors.toList());\r
+       }\r
+       \r
+       private TodoListInfo toTodoListInfo(TodoListDto dto) {\r
+               return TodoListInfo.builder()\r
+                               .id(dto.getId())\r
+                               .headerId(dto.getHeaderId())\r
+                               .done(dto.getDone())\r
+                               .created(dto.getCreated())\r
+                               .updated(dto.getUpdated())\r
+                               .name(dto.getName())\r
+                               .build();\r
+       }\r
+}\r