•
TodoService
.. 중략 ..
// 등록
Long register(TodoDTO dto);
void modify(TodoDTO dto);
void remove(Long tno);
Java
복사
•
TodoServiceImpl
package org.zerock.apiserver.service;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.zerock.apiserver.domain.Todo;
import org.zerock.apiserver.dto.TodoDTO;
import org.zerock.apiserver.repository.TodoRepository;
import java.util.Optional;
@Service
@Log4j2
@RequiredArgsConstructor
public class TodoServiceImpl implements TodoService {
private final TodoRepository todoRepository;
@Override
public TodoDTO get(Long tno) {
Optional<Todo> result = todoRepository.findById(tno);
Todo todo = result.orElseThrow();
return entityToDTO(todo);
}
@Override
public Long register(TodoDTO dto) {
Todo todo = dtoToEntity(dto);
Todo result = todoRepository.save(todo);
return result.getTno();
}
@Override
public void modify(TodoDTO dto) {
Optional<Todo> result = todoRepository.findById(dto.getTno());
Todo todo = result.orElseThrow();
todo.changeTitle(dto.getTitle());
todo.changeContent(dto.getContent());
todo.changeComplete(dto.isComplete());
todo.changeDueDate(dto.getDueDate());
todoRepository.save(todo);
}
@Override
public void remove(Long tno) {
todoRepository.deleteById(tno);
}
}
Java
복사
•
TodoServiceTests
.. 중략 ..
@Test
public void testRegister() {
TodoDTO todoDTO = TodoDTO.builder()
.title("Title....")
.content("content....")
.dueDate(LocalDate.of(2023, 12, 31))
.build();
}
Java
복사