OSDN Git Service

Resultを定義
[ngware/todo_java.git] / src / main / java / com / example / logic / TodoLogic.java
1 package com.example.logic;\r
2 \r
3 import java.util.List;\r
4 import java.util.Optional;\r
5 import java.util.stream.Collectors;\r
6 \r
7 import org.springframework.beans.factory.annotation.Autowired;\r
8 import org.springframework.stereotype.Component;\r
9 import org.springframework.util.ObjectUtils;\r
10 \r
11 import com.example.domain.TodoHeaderInfo;\r
12 import com.example.domain.TodoListInfo;\r
13 import com.example.dto.TodoHeaderDto;\r
14 import com.example.dto.TodoListDto;\r
15 import com.example.mapper.TodoHeaderMapper;\r
16 import com.example.mapper.TodoListMapper;\r
17 \r
18 @Component\r
19 public class TodoLogic {\r
20         @Autowired\r
21         private TodoHeaderMapper todoHeaderMapper;\r
22         @Autowired\r
23         private TodoListMapper todoListMapper;\r
24 \r
25         public List<TodoHeaderInfo> findTodoHeaders() {\r
26                 return toTodoHeaderInfo(todoHeaderMapper.findTodoHeaders());\r
27         }\r
28         \r
29         private List<TodoHeaderInfo> toTodoHeaderInfo(List<TodoHeaderDto> list) {\r
30                 return list.stream().map(this::toTodoHeaderInfo).collect(Collectors.toList());\r
31         }\r
32         \r
33         private TodoHeaderInfo toTodoHeaderInfo(TodoHeaderDto dto) {\r
34                 return TodoHeaderInfo.builder()\r
35                                 .id(dto.getId())\r
36                                 .name(dto.getName()).build();\r
37         }\r
38         \r
39         public List<TodoListInfo> findTodoLists(String headerId) {\r
40                 if(ObjectUtils.isEmpty(headerId)) {\r
41                         throw new RuntimeException("headerId is Empty!");\r
42                 }\r
43                 return toTodoListInfo(todoListMapper.findTodoLists(Integer.valueOf(headerId)));\r
44         }\r
45         \r
46         private List<TodoListInfo> toTodoListInfo(List<TodoListDto> list) {\r
47                 return list.stream().map(this::toTodoListInfo).collect(Collectors.toList());\r
48         }\r
49         \r
50         private TodoListInfo toTodoListInfo(TodoListDto dto) {\r
51                 return TodoListInfo.builder()\r
52                                 .id(dto.getId())\r
53                                 .headerId(dto.getHeaderId())\r
54                                 .done(dto.getDone())\r
55                                 .created(dto.getCreated())\r
56                                 .updated(dto.getUpdated())\r
57                                 .name(dto.getName())\r
58                                 .build();\r
59         }\r
60         \r
61         public Integer getMaxId(String headerId) {\r
62                 if(ObjectUtils.isEmpty(headerId)) {\r
63                         throw new RuntimeException("headerId is Empty!");\r
64                 }\r
65                 return Optional\r
66                                 .ofNullable(todoListMapper.getMaxId(Integer.valueOf(headerId)))\r
67                                 .orElse(0);\r
68         }\r
69 }\r