Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

GeradorDePagamentos

package br.com.caelum.leilao.servico;

import java.time.LocalDate;
import java.util.List;

import br.com.caelum.leilao.dominio.Leilao;
import br.com.caelum.leilao.dominio.Pagamento;
import br.com.caelum.leilao.infra.service.RepositorioDeLeiloes;
import br.com.caelum.leilao.infra.service.RepositorioDePagamentos;

public class GeradorDePagamento {

    private final RepositorioDeLeiloes leiloes;
    private final Avaliador avaliador;
    private final RepositorioDePagamentos pagamentos;

    public GeradorDePagamento(RepositorioDeLeiloes leiloes, Avaliador avaliador, RepositorioDePagamentos pagamentos) {
        this.leiloes = leiloes;
        this.avaliador = avaliador;
        this.pagamentos = pagamentos;
    }

    public void gera() {
        List<Leilao> leiloesEncerrados = this.leiloes.encerrados();
        leiloesEncerrados.forEach(l -> {
            this.avaliador.avalia(l);
            Pagamento pagamento = new Pagamento(this.avaliador.getMaiorLance(), LocalDate.now());
            this.pagamentos.salva(pagamento);
        });
    }
}
1 resposta
solução

Fala Jefferson, tudo bem?

Excelente, usando recursos do Java 8 :)

Abraço!