Subversion Repositories Integrator Subversion

Rev

Rev 218 | Rev 226 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 218 Rev 224
Line 1... Line 1...
1
package br.com.ec.repository.jpa;
1
package br.com.ec.repository.jpa;
2
2
-
 
3
import javax.persistence.NoResultException;
3
import javax.persistence.TypedQuery;
4
import javax.persistence.TypedQuery;
4
5
5
import org.springframework.stereotype.Repository;
6
import org.springframework.stereotype.Repository;
6
7
-
 
8
import br.com.ec.core.exception.NegocioException;
7
import br.com.ec.domain.dto.UsuarioDTO;
9
import br.com.ec.domain.dto.UsuarioDTO;
8
import br.com.ec.domain.modal.Usuario;
10
import br.com.ec.domain.modal.Usuario;
9
import br.com.ec.repository.SistemaAbstractRepository;
11
import br.com.ec.repository.SistemaAbstractRepository;
10
import br.com.ec.repository.UsuarioRepository;
12
import br.com.ec.repository.UsuarioRepository;
11
13
12
@Repository
14
@Repository
13
public class UsuarioRepositoryJpaImpl extends SistemaAbstractRepository<Usuario> implements UsuarioRepository {
15
public class UsuarioRepositoryJpaImpl extends SistemaAbstractRepository<Usuario> implements UsuarioRepository {
14
       
16
       
15
        private static final String USUARIO_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA = "Usuário informado não existe para esta pessoa";
-
 
-
 
17
        private static final String USUARIO_INFORMADO_NAO_EXISTE_PARA_ESTA_PESSOA = "Usuário informado não existe para esta pessoa";
16
       
18
       
17
        @Override
19
        @Override
18
        public UsuarioDTO consultarPorLogin(String login, String senha) {
20
        public UsuarioDTO consultarPorLogin(String login, String senha) {
19
                StringBuilder jpql = new StringBuilder();
21
                StringBuilder jpql = new StringBuilder();
20
                jpql.append("SELECT new br.com.ec.domain.dto.UsuarioDTO(u.login, u.nome) FROM Usuario u ");
22
                jpql.append("SELECT new br.com.ec.domain.dto.UsuarioDTO(u.login, u.nome) FROM Usuario u ");
21
//              jpql.append("LEFT JOIN FETCH u.perfis p ");
-
 
22
//              jpql.append("LEFT JOIN FETCH u.lojas l ");
-
 
23
                jpql.append("WHERE u.login = :login AND u.senha = :senha AND u.ativo is true");
23
                jpql.append("WHERE u.login = :login AND u.senha = :senha AND u.ativo is true");
24
                return getEntityManager().createQuery(jpql.toString(), UsuarioDTO.class)
-
 
-
 
24
                try {
-
 
25
                        return getEntityManager().createQuery(jpql.toString(), UsuarioDTO.class)
25
                                        .setParameter("login", login)
26
                                        .setParameter("login", login)
26
                                        .setParameter("senha", senha)
27
                                        .setParameter("senha", senha)
27
                                        .getSingleResult();
28
                                        .getSingleResult();
-
 
29
                } catch (NoResultException nre) {
-
 
30
                        throw new NegocioException("Usuário não existe");
-
 
31
                }
28
        }
32
        }
29
       
33
       
30
        @Override
34
        @Override
31
        public Integer obterQuantidadeUsuarioDiferenteComSenhaInformada(String login, String senha) {
35
        public Integer obterQuantidadeUsuarioDiferenteComSenhaInformada(String login, String senha) {
32
                StringBuilder jpql = new StringBuilder();
36
                StringBuilder jpql = new StringBuilder();
Line 56... Line 60...
56
                                .executeUpdate();
60
                                .executeUpdate();
57
                        getEntityManager().flush();
61
                        getEntityManager().flush();
58
                } catch(Exception ex) {
62
                } catch(Exception ex) {
59
                        ex.printStackTrace();
63
                        ex.printStackTrace();
60
                }
64
                }
-
 
65
        }
-
 
66
       
-
 
67
        @Override
-
 
68
        public String consultarEmailPorLogin(String login) {
-
 
69
                StringBuilder jpql = new StringBuilder();
-
 
70
                jpql.append("SELECT u.pessoa.email FROM Usuario u ");
-
 
71
                jpql.append("WHERE u.login = :login AND u.ativo is true");
-
 
72
                try {
-
 
73
                        return getEntityManager().createQuery(jpql.toString(), String.class)
-
 
74
                                        .setParameter("login", login)
-
 
75
                                        .getSingleResult();
-
 
76
                } catch(NoResultException nre) {
-
 
77
                        nre.printStackTrace();
-
 
78
                }
-
 
79
                return null;
61
        }
80
        }
62
       
81
       
63
        /*
82
        /*
64
        @Override
83
        @Override
65
        protected String getColunaOrdenadora() {
84
        protected String getColunaOrdenadora() {