Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added lib/jackson-annotations-2.17.1.jar
Binary file not shown.
Binary file added lib/jackson-core-2.17.1.jar
Binary file not shown.
Binary file added lib/jackson-databind-2.17.1.jar
Binary file not shown.
1 change: 1 addition & 0 deletions oopII.iml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="fasterxml.jackson.core.databind" level="project" />
</component>
</module>
75 changes: 29 additions & 46 deletions src/Main.java
Original file line number Diff line number Diff line change
@@ -1,54 +1,37 @@
import exemplo.ecommerce.Produto;
import exemplo.imposto.ICMS;
import exemplo.imposto.IOF;
import exemplo.imposto.Imposto;
import exemplo.imposto.ImpostoRecord;
import exercicios.ex5.desconto.DescontoProporcional;
import exercicios.ex5.modelo.Pedido;
import exercicios.ex5.modelo.Produto;
import exercicios.ex5.pagamento.PagamentoPix;
import exercicios.ex5.repositorio.RepositorioPedido;
import exercicios.ex5.repositorio.RepositorioProdutos;


import java.math.BigDecimal;
import java.util.*;

public class Main {
public static void main(String[] args) {

//Perecivel produto = new Produto();
//processar(produto);

//ICMS, IOF

Imposto IOF = new IOF(1.5D);
Imposto ICMS = new ICMS(2.7D);

//new IVA(27D);

//calcular(IOF);
calcular(ICMS);
//calcular(IVA);

ImpostoRecord iva = new ImpostoRecord("2", "IVA");
//iva.taxa();

Comparator<Produto> compImposto = Comparator.comparing(Produto::getId)
.thenComparing(Produto::getValor);
//compImposto.compare(new Produto(), new Produto());

Integer numero = Integer.valueOf(10);
System.out.printf("O numeros sao iguais %d", numero.compareTo(Integer.valueOf(15)));





List<Produto> produtos = new ArrayList<>();
produtos.add(new Produto(2, "TV 55", new BigDecimal(4500)));
produtos.add(new Produto(1, "PS 5", new BigDecimal(3800)));
Collections.sort(produtos);
Collections.sort(produtos, Comparator.comparing(Produto::getValor));
produtos.sort((p1, p2) -> p1.getId().compareTo(p2.getId()));


}

public static void calcular(Imposto imposto) {
imposto.imprimir();
Produto produto1 = new Produto(1, "Capacete", new BigDecimal("90.00"));
Produto produto2 = new Produto(2, "Joelheira", new BigDecimal("70.00"));
Produto produto3 = new Produto(3, "Farol LED", new BigDecimal("30.00"));

RepositorioProdutos produtos = new RepositorioProdutos();
produtos.adicionarProduto(produto1);
produtos.adicionarProduto(produto2);
produtos.adicionarProduto(produto3);

RepositorioPedido pedidos = new RepositorioPedido();
Pedido pedido = pedidos.criarPedido();
pedido.adicionarItem(produto1, 2);
pedido.adicionarItem(produto2, 1);
pedido.adicionarItem(produto3, 2);

System.out.println(pedido);
pedido.setDesconto(new DescontoProporcional(new BigDecimal("10")));

java.math.BigDecimal total = pedido.calcularTotalComDesconto();
System.out.println("Total com desconto: " + total);
pedido.setPagamento(new PagamentoPix(total, pedido.getId()));
pedido.executarPedido();
}
}
54 changes: 0 additions & 54 deletions src/exemplo/ecommerce/Produto.java

This file was deleted.

4 changes: 0 additions & 4 deletions src/exemplo/imposto/Dedutivel.java

This file was deleted.

55 changes: 0 additions & 55 deletions src/exemplo/imposto/ICMS.java

This file was deleted.

13 changes: 0 additions & 13 deletions src/exemplo/imposto/IOF.java

This file was deleted.

4 changes: 0 additions & 4 deletions src/exemplo/imposto/IVA.java

This file was deleted.

18 changes: 0 additions & 18 deletions src/exemplo/imposto/Imposto.java

This file was deleted.

11 changes: 0 additions & 11 deletions src/exemplo/imposto/ImpostoAbstract.java

This file was deleted.

4 changes: 0 additions & 4 deletions src/exemplo/imposto/ImpostoRecord.java

This file was deleted.

5 changes: 5 additions & 0 deletions src/exercicios/ex5/desconto/Desconto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package exercicios.ex5.desconto;

public interface Desconto{
java.math.BigDecimal desconto(java.math.BigDecimal valor);
}
14 changes: 14 additions & 0 deletions src/exercicios/ex5/desconto/DescontoCupom.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package exercicios.ex5.desconto;

public class DescontoCupom implements Desconto {
private final java.math.BigDecimal valorCupom;

public DescontoCupom(java.math.BigDecimal valorCupom) {
this.valorCupom = valorCupom;
}

@Override
public java.math.BigDecimal desconto(java.math.BigDecimal valor) {
return valorCupom;
}
}
14 changes: 14 additions & 0 deletions src/exercicios/ex5/desconto/DescontoFixo.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package exercicios.ex5.desconto;

public class DescontoFixo implements Desconto{
private final java.math.BigDecimal valorDesconto;

public DescontoFixo(java.math.BigDecimal valorDesconto) {
this.valorDesconto = valorDesconto;
}

@Override
public java.math.BigDecimal desconto(java.math.BigDecimal valor) {
return valorDesconto;
}
}
14 changes: 14 additions & 0 deletions src/exercicios/ex5/desconto/DescontoProporcional.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package exercicios.ex5.desconto;

public class DescontoProporcional implements Desconto{
private final java.math.BigDecimal percentual;

public DescontoProporcional(java.math.BigDecimal percentual) {
this.percentual = percentual;
}

@Override
public java.math.BigDecimal desconto(java.math.BigDecimal valor) {
return valor.multiply(percentual).divide(new java.math.BigDecimal("100"));
}
}
8 changes: 8 additions & 0 deletions src/exercicios/ex5/desconto/SemDesconto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package exercicios.ex5.desconto;

public class SemDesconto implements Desconto{
@Override
public java.math.BigDecimal desconto(java.math.BigDecimal valor) {
return java.math.BigDecimal.ZERO;
}
}
37 changes: 37 additions & 0 deletions src/exercicios/ex5/json/JsonPix.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package exercicios.ex5.json;

public class JsonPix {
private String chave;
private String nome;
private String cidade;

public JsonPix(String chave, String nome, String cpf, String cidade) {
this.chave = chave;
this.nome = nome;
this.cidade = cidade;
}

public JsonPix() {

}

public String getChave() {
return chave;
}

public String getNome() {
return nome;
}

public String getCidade() {
return cidade;
}

public void setNome(String nome) {
this.nome = nome;
}

public void setCidade(String cidade) {
this.cidade = cidade;
}
}
30 changes: 30 additions & 0 deletions src/exercicios/ex5/modelo/ItemPedido.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package exercicios.ex5.modelo;

public class ItemPedido {
private Produto produto;
private int quantidade;
private java.math.BigDecimal precoTotal;

public ItemPedido(Produto produto, int quantidade) {
this.produto = produto;
this.quantidade = quantidade;
this.precoTotal = produto.getValor().multiply(new java.math.BigDecimal(quantidade));
}

public Produto getProduto() {
return produto;
}

public int getQuantidade() {
return quantidade;
}

public java.math.BigDecimal getPrecoTotal() {
return precoTotal;
}

@Override
public String toString() {
return "Produto: " + produto.getNome() + ", Quantidade: " + quantidade + ", Valor: " + precoTotal;
}
}
Loading