From ee65e53a4ca353ac89d80d5ac901ec249aca9c29 Mon Sep 17 00:00:00 2001 From: Fabio Date: Fri, 26 Jan 2024 18:38:32 -0300 Subject: [PATCH] =?UTF-8?q?Refatora=C3=A7ao=20recarga=20celular=20feat=20b?= =?UTF-8?q?ug#AL-3513?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../ventaboletos/dao/EmpresaRecargaDAO.java | 14 ++ .../hibernate/EmpresaRecargaHibernateDAO.java | 43 ++++++ .../entidad/EmpresaRecargaConfig.java | 141 ++++++++++++++++++ .../service/EmpresaRecargaService.java | 12 ++ .../impl/EmpresaRecargaServiceImpl.java | 69 +++++++++ 6 files changed, 280 insertions(+), 1 deletion(-) create mode 100644 src/com/rjconsultores/ventaboletos/dao/EmpresaRecargaDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaRecargaHibernateDAO.java create mode 100644 src/com/rjconsultores/ventaboletos/entidad/EmpresaRecargaConfig.java create mode 100644 src/com/rjconsultores/ventaboletos/service/EmpresaRecargaService.java create mode 100644 src/com/rjconsultores/ventaboletos/service/impl/EmpresaRecargaServiceImpl.java diff --git a/pom.xml b/pom.xml index d8d64fe49..6e44664cf 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.33.0 + 1.34.0 diff --git a/src/com/rjconsultores/ventaboletos/dao/EmpresaRecargaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EmpresaRecargaDAO.java new file mode 100644 index 000000000..641a15ba3 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/EmpresaRecargaDAO.java @@ -0,0 +1,14 @@ +package com.rjconsultores.ventaboletos.dao; + +import java.util.List; +import java.util.Optional; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaRecargaConfig; + +public interface EmpresaRecargaDAO extends GenericDAO { + + public List obtenerTodos(); + public Optional buscarPorEmpresa(Empresa empresa); + +} diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaRecargaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaRecargaHibernateDAO.java new file mode 100644 index 000000000..cd5fbe4fa --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EmpresaRecargaHibernateDAO.java @@ -0,0 +1,43 @@ +package com.rjconsultores.ventaboletos.dao.hibernate; + +import java.util.List; +import java.util.Optional; + +import org.hibernate.Criteria; +import org.hibernate.SessionFactory; +import org.hibernate.criterion.Restrictions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Repository; + +import com.rjconsultores.ventaboletos.dao.EmpresaRecargaDAO; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaRecargaConfig; + +@Repository("empresaRecargaDAO") +public class EmpresaRecargaHibernateDAO extends GenericHibernateDAO + implements EmpresaRecargaDAO { + + @Autowired + public EmpresaRecargaHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) { + setSessionFactory(factory); + } + + @SuppressWarnings("unchecked") + @Override + public List obtenerTodos() { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + + return c.list(); + } + + @Override + public Optional buscarPorEmpresa(Empresa empresa) { + Criteria c = getSession().createCriteria(getPersistentClass()); + c.add(Restrictions.eq("activo", Boolean.TRUE)); + c.add(Restrictions.eq("empresa.empresaId", empresa.getEmpresaId())); + + return Optional.ofNullable((EmpresaRecargaConfig) c.uniqueResult()); + } +} diff --git a/src/com/rjconsultores/ventaboletos/entidad/EmpresaRecargaConfig.java b/src/com/rjconsultores/ventaboletos/entidad/EmpresaRecargaConfig.java new file mode 100644 index 000000000..39056bae4 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/entidad/EmpresaRecargaConfig.java @@ -0,0 +1,141 @@ +package com.rjconsultores.ventaboletos.entidad; + +import java.io.Serializable; +import java.util.Date; + +import javax.persistence.Basic; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.OneToOne; +import javax.persistence.SequenceGenerator; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +@Entity +@SequenceGenerator(name = "EMP_RECARGA_CONFIG_SEQ", sequenceName = "EMP_RECARGA_CONFIG_SEQ", allocationSize = 1) +@Table(name = "EMPRESA_RECARGA_CONFIG") +public class EmpresaRecargaConfig implements Serializable { + + private static final long serialVersionUID = 1L; + @Id + @Basic(optional = false) + @GeneratedValue(strategy = GenerationType.AUTO, generator = "EMP_RECARGA_CONFIG_SEQ") + @Column(name = "EMPRESARECARGA_ID") + private Integer empresaRecargaId; + + @Column(name = "CLIENT_ID") + private String clientId; + + @Column(name = "SECRET") + private String secret; + + @OneToOne + @JoinColumn(name = "EMPRESA_ID") + private Empresa empresa; + + @Column(name = "ACTIVO") + private Boolean activo; + + @Column(name = "FECMODIF") + @Temporal(TemporalType.TIMESTAMP) + private Date fecmodif; + + @Column(name = "USUARIO_ID") + private Integer usuarioId; + + public EmpresaRecargaConfig() { + } + + public Integer getEmpresaRecargaId() { + return empresaRecargaId; + } + + public void setEmpresaRecargaId(Integer empresaRecargaId) { + this.empresaRecargaId = empresaRecargaId; + } + + public String getClientId() { + return clientId; + } + + public void setClientId(String clientId) { + this.clientId = clientId; + } + + public String getSecret() { + return secret; + } + + public void setSecret(String secret) { + this.secret = secret; + } + + public Empresa getEmpresa() { + return empresa; + } + + public void setEmpresa(Empresa empresa) { + this.empresa = empresa; + } + + public Boolean getActivo() { + return activo; + } + + public void setActivo(Boolean activo) { + this.activo = activo; + } + + public Date getFecmodif() { + return fecmodif; + } + + public void setFecmodif(Date fecmodif) { + this.fecmodif = fecmodif; + } + + public Integer getUsuarioId() { + return usuarioId; + } + + public void setUsuarioId(Integer usuarioId) { + this.usuarioId = usuarioId; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((empresaRecargaId == null) ? 0 : empresaRecargaId.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + EmpresaRecargaConfig other = (EmpresaRecargaConfig) obj; + if (empresaRecargaId == null) { + if (other.empresaRecargaId != null) + return false; + } else if (!empresaRecargaId.equals(other.empresaRecargaId)) + return false; + return true; + } + + @Override + public String toString() { + return String.valueOf(this.getEmpresaRecargaId()); + } + +} diff --git a/src/com/rjconsultores/ventaboletos/service/EmpresaRecargaService.java b/src/com/rjconsultores/ventaboletos/service/EmpresaRecargaService.java new file mode 100644 index 000000000..2ba54a470 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/EmpresaRecargaService.java @@ -0,0 +1,12 @@ +package com.rjconsultores.ventaboletos.service; + +import java.util.Optional; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaRecargaConfig; + +public interface EmpresaRecargaService extends GenericService { + + public Optional buscarPorEmpresa(Empresa empresa); + +} diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EmpresaRecargaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EmpresaRecargaServiceImpl.java new file mode 100644 index 000000000..3e7b91da4 --- /dev/null +++ b/src/com/rjconsultores/ventaboletos/service/impl/EmpresaRecargaServiceImpl.java @@ -0,0 +1,69 @@ +package com.rjconsultores.ventaboletos.service.impl; + +import java.util.Calendar; +import java.util.List; +import java.util.Optional; + +import com.rjconsultores.ventaboletos.dao.EmpresaRecargaDAO; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaRecargaConfig; +import com.rjconsultores.ventaboletos.service.EmpresaRecargaService; +import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service("empresaRecargaService") +public class EmpresaRecargaServiceImpl implements EmpresaRecargaService { + + @Autowired + private EmpresaRecargaDAO empresaRecargaService; + + @Override + public List obtenerTodos() { + return empresaRecargaService.obtenerTodos(); + } + + @Override + public EmpresaRecargaConfig obtenerID(Integer id) { + return empresaRecargaService.obtenerID(id); + } + + @Override + @Transactional + public EmpresaRecargaConfig suscribir(EmpresaRecargaConfig entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return empresaRecargaService.suscribir(entidad); + } + + @Override + @Transactional + public EmpresaRecargaConfig actualizacion(EmpresaRecargaConfig entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.TRUE); + + return empresaRecargaService.actualizacion(entidad); + } + + @Override + @Transactional + public void borrar(EmpresaRecargaConfig entidad) { + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setActivo(Boolean.FALSE); + + empresaRecargaService.actualizacion(entidad); + + } + + @Override + public Optional buscarPorEmpresa(Empresa empresa) { + return empresaRecargaService.buscarPorEmpresa(empresa); + } + +}