Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] localhost:8080/admin/relatorios/faturamento

Não estou conseguindo obter faturamento.

public interface PedidoRepository extends JpaRepository<Pedido, Long> {

    List<Pedido> findPedidoByData(LocalDate now);
    @Query("""
            SELECT SUM(i.precoUnitario * i.quantidade)
            FROM Pedido p
            JOIN p.itens i
            WHERE p.data = :data
            """)

    BigDecimal faturamentoTotalDoDia(@Param("data") LocalDate data);
    @Query("""
        SELECT NEW br.com.alura.adopetstore.dto.EstatisticasVenda(
            prod.categoria,
            SUM(i.quantidade),
            SUM(i.precoUnitario * i.quantidade)
        )
        FROM Pedido p
        JOIN p.itens i
        JOIN i.produto prod
        WHERE p.data = :data
        GROUP BY prod.categoria
        """)
    List<EstatisticasVenda> faturamentoTotalDoDiaPorCategoria(@Param("data") LocalDate data);

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Consegui!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como ele pega data de ontem para fazer as estatísticas ficava nulo.

public RelatorioFaturamento faturamentoObtido() {
        var dataOntem = LocalDate.now().minusDays(1);  <- altera para LocalDate.now() se quiser que faturamento seja feito analisada hoje.
        var faturamentoTotal = pedidoRepository.faturamentoTotalDoDia(dataOntem);

        var estatisticas = pedidoRepository.faturamentoTotalDoDiaPorCategoria(dataOntem);

        return new RelatorioFaturamento(faturamentoTotal, estatisticas);
    }

cuidado com 00:00 como eu estava estudando nesse horário os pedidos que realizei 11:59, já são contados como ontem