Skip to content

Commit

Permalink
Cria serviço para salvar Ordens, com repository do Panache
Browse files Browse the repository at this point in the history
  • Loading branch information
gustavoreche committed Oct 16, 2020
1 parent 2488f19 commit b9e0547
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 2 deletions.
16 changes: 16 additions & 0 deletions src/main/java/br/com/aplicacao/ordem/OrdemDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ public class OrdemDTO {
private String status;
@JsonbProperty(value = "user_id")
private Long userId;

public OrdemDTO() {

}

public OrdemDTO(Ordem ordem) {
this.id = ordem.getId();
Expand Down Expand Up @@ -53,4 +57,16 @@ public Long getUserId() {
return userId;
}

public void setPreco(Double preco) {
this.preco = preco;
}

public void setTipo(String tipo) {
this.tipo = tipo;
}

public void setUserId(Long userId) {
this.userId = userId;
}

}
18 changes: 16 additions & 2 deletions src/main/java/br/com/dominio/ordem/Ordem.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@

@Entity
public class Ordem {

private static final String ENVIADA = "ENVIADA";

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand All @@ -31,8 +33,8 @@ public Ordem(OrdemDTO ordemDTO) {
this.id = ordemDTO.getId();
this.preco = ordemDTO.getPreco();
this.tipo = ordemDTO.getTipo();
this.data = ordemDTO.getData();
this.status = ordemDTO.getStatus();
this.data = insereData(ordemDTO.getData());
this.status = insereStatus(ordemDTO.getStatus());
this.userId = ordemDTO.getUserId();
}

Expand All @@ -47,10 +49,22 @@ public Double getPreco() {
public String getTipo() {
return tipo;
}

private LocalDate insereData(LocalDate data) {
if(data == null)
return LocalDate.now();
return data;
}

public LocalDate getData() {
return data;
}

private String insereStatus(String status) {
if(status == null || status.isEmpty())
return ENVIADA;
return status;
}

public String getStatus() {
return status;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package br.com.dominio.ordem.repositorio;

import javax.enterprise.context.ApplicationScoped;

import br.com.dominio.ordem.Ordem;
import io.quarkus.hibernate.orm.panache.PanacheRepository;

@ApplicationScoped
public class OrdemRepository implements PanacheRepository<Ordem> {

}
26 changes: 26 additions & 0 deletions src/main/java/br/com/infraestrutura/ordem/OrdemResource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package br.com.infraestrutura.ordem;

import javax.inject.Inject;
import javax.transaction.Transactional;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;

import br.com.aplicacao.ordem.OrdemDTO;
import br.com.dominio.ordem.repositorio.OrdemRepository;

@Path("/ordens")
public class OrdemResource {

@Inject
OrdemRepository ordemRepository;

@POST
@Transactional
@Consumes(MediaType.APPLICATION_JSON)
public void insere(OrdemDTO ordemDTO) {
this.ordemRepository.persist(ordemDTO.converteParaAEntidade());
}

}

0 comments on commit b9e0547

Please sign in to comment.