SERVICE

William Parker·2022년 12월 9일
package com.sparta.springassignment1.service;

import com.sparta.springassignment1.dto.ClientDTO;
import com.sparta.springassignment1.entity.Client;
import com.sparta.springassignment1.repository.ClientRepository;
import com.sparta.springassignment1.response.ClientPostListResponse;
import com.sparta.springassignment1.response.ClientResponseDto;
import com.sparta.springassignment1.response.ClientViewDTOResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import javax.transaction.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
public class ClientService {
    private final ClientRepository clientRepository;

    @Transactional
    public ClientResponseDto createPost(ClientDTO clientDTO) {
        Client client = new Client(clientDTO);
        clientRepository.save(client);
        return new ClientResponseDto(client);
    }

    @Transactional
    public List<ClientPostListResponse> findAllDesc() {
        return clientRepository.findAllDesc().stream().map(ClientPostListResponse::new).collect(Collectors.toList());
    }

    @Transactional
    public ClientViewDTOResponse getClientPostByid(Long id) {
        ClientViewDTOResponse clientViewDTO = clientRepository.findDTOById(id);
        return clientViewDTO;
    }

    @Transactional
    public boolean deletePost(Long id, String password) {
        Client client = clientRepository.findAllById(id);
        if (password.equalsIgnoreCase(client.getPassword())) {
            clientRepository.deleteById(id);
            return true;
        } else {
            return false;
        }
    }

    @Transactional
    public ClientDTO updatePost(Long id, ClientDTO clientDTO) {
        Client client1 = clientRepository.findAllById(id);
        if (Objects.equals(client1.getPassword(), clientDTO.getPassword())) {
            return client1.update(clientDTO);
        }
        return null;
    }
}
profile
Developer who does not give up and keeps on going.

0개의 댓글