Interface DonorDepositService
- All Known Implementing Classes:
DonorDepositServiceImpl
public interface DonorDepositService
Interface para o serviço de depósitos de doadores.
Esta interface fornece o contrato para o registro de doações feitas por doadores. Implementações desta interface deverão definir a lógica específica de como registrar essas doações e retornar a resposta adequada.
- Since:
- 1.3.0
- Author:
- diegoneves
-
Method Summary
Modifier and TypeMethodDescriptionvoidlinkDepositToDonor(UserEntity user) Vincula depósitos a um doador baseado nas informações do usuário fornecidas.registerDonation(DepositDonationRequest request) Registra uma nova doação com base nas informações fornecidas noDepositDonationRequest.
-
Method Details
-
registerDonation
Registra uma nova doação com base nas informações fornecidas noDepositDonationRequest.Este método é responsável por processar uma solicitação de doação de depósito, validar os dados da solicitação e registrar a doação no sistema. Ele retorna um
RegisteredDepositResponsecontendo as informações da doação registrada, como confirmação de que a doação foi processada com sucesso.- Parameters:
request- O objetoDepositDonationRequestcontendo os detalhes da doação a ser registrada. Deve incluir o email do responsável pela doação e uma lista de detalhes dos depósitos (DepositDTO).- Returns:
- Um objeto
RegisteredDepositResponsecontendo os detalhes da doação registrada, incluindo o nome do usuário, email e a lista de depósitos associados. - Throws:
DepositProcessingException- Se a solicitação fornecida for inválida ou faltarem dados obrigatórios, ou, se ocorrer um erro durante o processamento do depósito.
-
linkDepositToDonor
Vincula depósitos a um doador baseado nas informações do usuário fornecidas.Este método valida o usuário dado e, se o perfil do usuário for do tipo "DONOR", cria um novo registro de depósito doador e salva no repositório apropriado.
- Parameters:
user- Um objetoUserEntityque representa o usuário cujos depósitos serão vinculados. O usuário deve ter um perfil do tipo "DONOR" para prosseguir com o vinculo.- Throws:
DepositProcessingException- Se o objeto de usuário fornecido for nulo, estiver vazio, ou se ocorrer algum erro durante o processamento da validação.
-