Class DoacaoServicoImpl

java.lang.Object
br.com.pawsoncloud.servicos.impl.DoacaoServicoImpl
All Implemented Interfaces:
DoacaoServico

@Service public class DoacaoServicoImpl extends Object implements DoacaoServico
Classe que implementa a interface DoacaoServico.
Author:
Edielson Assis
  • Constructor Details

    • DoacaoServicoImpl

      public DoacaoServicoImpl()
  • Method Details

    • create

      public Doacao create(DoacaoDto doacaoDto)
      Realizar uma doação.
      Specified by:
      create in interface DoacaoServico
      Parameters:
      doacaoDto - contém os dados do proprietário e do animal que será doado.
      Returns:
      Doacao
    • findByCpf

      public List<Doacao> findByCpf()
      Lista com todas as doações realizadas pelo usuário. É utilizado o cpf do usuário para carregar a lista. Caso a lista esteja vazia, é lançado uma exceção.
      Specified by:
      findByCpf in interface DoacaoServico
      Returns:
      lista de doações
      Throws:
      ObjectNotFoundException - é lançada caso nenhuma doação seja encontrada.
    • update

      public Doacao update(Long id, DoacaoUpdateDto doacaoDto)
      Atualiza os dados da doação com base no id informado. Caso a doação não seja encontrada, é lançãdo uma exceção. Antes de atualizar, verifica se o usuário logado possui os mesmos dados do doador. Se não, outra exceção é lançada. Por fim, verifica se a doação já foi finalizada. Se sim, uma exceção é lançada, negando a operação.
      Specified by:
      update in interface DoacaoServico
      Parameters:
      doacaoDto - doação que será atualizada.
      id - parâmetro para atualização.
      Returns:
      doação recém-atualizada.
      Throws:
      ObjectNotFoundException - é lançada caso o usuário não seja encotrado.
      org.springframework.security.authentication.BadCredentialsException - é lançada caso as credenciais do usuário sejam inválidas.
      DataBaseException - é lançada caso a doação tenha sido finalizada.
    • delete

      public void delete(Long id)
      Cancela uma doação com base no id informado. Caso a doação não seja encontrada, é lançãdo uma exceção. Antes de cancelar, verifica se o usuário logado possui os mesmos dados do doador. Se não, outra exceção é lançada. Por fim, verifica se a doação já foi finalizada. Se sim, uma exceção é lançada, negando a operação.
      Specified by:
      delete in interface DoacaoServico
      Parameters:
      id - id da doação que será cancelada.
      Throws:
      jakarta.persistence.EntityNotFoundException - capturada caso o usuário não seja encotrado.
      org.springframework.security.authentication.BadCredentialsException - é lançada caso as credenciais do usuário sejam inválidas.
      DataBaseException - é lançada caso a doação tenha sido finalizada.