Eu não entendi ainda como o atributo pedidoId da classe Pagamento é utilizado nos microsserviços. Teoricamente, nós que estamos setando esse pedidoId via Postman. Porém, ele não devia ser ''automático'', uma vez que quando criamos um Pedido no banco de dados, ele é já possui um id? Vou tentar exemplificar melhor:
public void confirmarPagamento(Long id){
Optional<Pagamento> pagamento = repository.findById(id);
if (!pagamento.isPresent()) {
throw new EntityNotFoundException();
}
pagamento.get().setStatus(Status.CONFIRMADO);
repository.save(pagamento.get());
pedido.atualizaPagamento(pagamento.get().getPedidoId());
}
Neste método, passamos o pagamento.get().getPedidoId()
como parâmetro. Porém, não devia ser um id existente lá do banco de dados que foi gerado automaticamente quando criamos um Pedido via Postman? Imagine que estou criando um Pedido via Postman, e foi atribuido o valor '1' para ele (gerado automaticamente), e na classe Pagamento setamos o pedidoId como '2' ao invés de '1' (que foi o pedido criado no meu banco). Isso não estaria errado e, consequentemente, não daria algum erro?
Desculpe se pareceu confuso, mas estou aprendendo microsserviços agora e estou viajando nessa parte