davistuart

Untitled

Apr 23rd, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.97 KB | None | 0 0
  1.    
  2.     public String checarCpf(){
  3.         String cpf = request.getParameter("cpfParametro");
  4.         Long id = null;
  5.         try{
  6.             String idTeste = request.getParameter("id");
  7.             if(idTeste!=null && !idTeste.equals("")){
  8.                 id = Long.parseLong(request.getParameter("id"));
  9.             }
  10.         } catch(Exception e){
  11.             System.out.println("não é um número");
  12.         }
  13.        
  14.         if(checarCpf(cpf, id)){
  15.             request.setAttribute("retornoAjax", true);
  16.             return "erroLogin";
  17.         }
  18.         else {
  19.             request.setAttribute("html", false);
  20.             return "html";
  21.         }
  22.     }
  23.    
  24.     public Boolean checarCpf(String cpf, Long id){
  25.         boolean erro = false;
  26.        
  27.         if(cpf!=null){
  28.             Filtro filtro = new Filtro();
  29.             filtro.setClazz(ClienteTO.class);
  30.             filtro.setActionContext(ActionContext.getContext());
  31.            
  32.             ClienteTO exampleCpf = new ClienteTO();
  33.             exampleCpf.setRemovido(false);
  34.             exampleCpf.setCpf(cpf.replace(".", "").replace("-", "").replace("/", ""));
  35.             filtro.setExample(exampleCpf);
  36.            
  37.             List<ClienteTO> listCpf = mgr.getList(filtro);
  38.            
  39.             for(int k = 0; k < listCpf.size(); k++) {
  40.                 if(listCpf.get(k).getRepetido() != null && listCpf.get(k).getRepetido() == true) {
  41.                     listCpf.remove(k);
  42.                     k--;
  43.                 }
  44.             }
  45.            
  46.             if(listCpf.size() > 0) {
  47.                 if(listCpf.get(0).getAtivo() == false) {
  48.                     request.setAttribute("contaInativa", true);
  49.                     erro = true;
  50.                 }
  51.                
  52.                 // Loja: MMM, Cliente: MMM
  53.                 if(id == null && (request.getParameter("parceria") == null || request.getParameter("parceria").equals("")) && (listCpf.get(0).getParceria() == null || listCpf.get(0).getParceria().equals(""))) {
  54.                     request.setAttribute("mesmaLoja", mascararEmail(listCpf.get(0).getEmail()));
  55.                     session.put("emailSessao", listCpf.get(0).getEmail());
  56.                     erro = true;
  57.                 }
  58.                 // Loja: MC, Cliente: MC
  59.                 else if(id == null && request.getParameter("parceria") != null && request.getParameter("parceria").equals("minhacasa") && listCpf.get(0).getParceria() != null && listCpf.get(0).getParceria().equals("minhacasa")) {
  60.                     request.setAttribute("mesmaLoja", mascararEmail(listCpf.get(0).getEmail()));
  61.                     session.put("emailSessao", listCpf.get(0).getEmail());
  62.                     erro = true;
  63.                 }
  64.                 // Loja: MMM, Cliente: MC
  65.                 else if(id == null && (request.getParameter("parceria") == null || request.getParameter("parceria").equals("")) && listCpf.get(0).getParceria()!= null && listCpf.get(0).getParceria().equals("minhacasa")) {
  66.                     request.setAttribute("lojaDiferente", mascararEmail(listCpf.get(0).getEmail()));
  67.                     session.put("emailSessao", listCpf.get(0).getEmail());
  68.                     erro = true;
  69.                 }
  70.                 // Loja: MC, Cliente: MMM
  71.                 else if(id == null && request.getParameter("parceria") != null && request.getParameter("parceria").equals("minhacasa") && (listCpf.get(0).getParceria() == null || listCpf.get(0).getParceria().equals(""))) {
  72.                     request.setAttribute("lojaDiferente", mascararEmail(listCpf.get(0).getEmail()));
  73.                     session.put("emailSessao", listCpf.get(0).getEmail());
  74.                     erro = true;
  75.                 }
  76.                
  77.                 if(id != null && (listCpf.get(0).getAtivo() == null || listCpf.get(0).getAtivo() == true)) {
  78.                     long y = listCpf.get(0).getId();
  79.                     if(id != y) {
  80.                         request.setAttribute("cpfAtribuido", listCpf.get(0).getCpf());
  81.                         erro = true;
  82.                     }
  83.                 }              
  84.             }
  85.         }
  86.         return erro;
  87.     }
  88.    
  89.     public String checarEmail(){
  90.         String email = request.getParameter("emailParametro");
  91.         Long id = null;
  92.         try{
  93.             String idTeste = request.getParameter("id");
  94.             if(idTeste!=null && !idTeste.equals("")){
  95.                 id = Long.parseLong(request.getParameter("id"));
  96.             }
  97.         } catch(Exception e){
  98.             System.out.println("não é um número");
  99.         }
  100.        
  101.         if(checarEmail(email, id)){
  102.             request.setAttribute("retornoAjax", true);
  103.             return "erroLogin";
  104.         }
  105.         else {
  106.             request.setAttribute("html", false);
  107.             return "html";
  108.         }
  109.     }
  110.    
  111.     public Boolean checarEmail(String email, Long id){
  112.         Boolean erro = false;
  113.        
  114.         Filtro filtro = new Filtro();
  115.         filtro.setClazz(ClienteTO.class);
  116.         filtro.setActionContext(ActionContext.getContext());
  117.         ClienteTO exampleEmail = new ClienteTO();
  118.         exampleEmail.setRemovido(false);
  119.         exampleEmail.setEmail(email.trim());
  120.         exampleEmail.setCpf(null);
  121.         filtro.setExample(exampleEmail);
  122.         List<ClienteTO> listEmail = mgr.getList(filtro);
  123.        
  124.         List<ClienteTO> listEmailRepetido = new ArrayList<ClienteTO>();
  125.         for(int k = 0; k < listEmail.size(); k++) {
  126.             if(listEmail.get(k).getRepetido() != null && listEmail.get(k).getRepetido() == true) {
  127.                 listEmailRepetido.add(listEmail.remove(k));
  128.                 k--;
  129.             }
  130.         }
  131.        
  132.         if(listEmail.size() > 0 && !erro) {
  133.             if(listEmail.get(0).getAtivo() == false) {
  134.                 request.setAttribute("contaInativa", true);
  135.                 erro = true;
  136.             }
  137.            
  138.             // Loja: MMM, Cliente: MMM
  139.             if(id == null && (request.getParameter("parceria") == null || request.getParameter("parceria").equals("")) && (listEmail.get(0).getParceria() == null || listEmail.get(0).getParceria().equals(""))) {
  140.                 request.setAttribute("mesmaLojaEmail", listEmail.get(0).getEmail());
  141.                 erro = true;
  142.             }
  143.             // Loja: MC, Cliente: MC
  144.             else if(id == null && request.getParameter("parceria") != null && request.getParameter("parceria").equals("minhacasa") && listEmail.get(0).getParceria()!= null && listEmail.get(0).getParceria().equals("minhacasa")) {
  145.                 request.setAttribute("mesmaLojaEmail", listEmail.get(0).getEmail());
  146.                 erro = true;
  147.             }
  148.             // Loja: MMM, Cliente: MC
  149.             else if(id == null && (request.getParameter("parceria") == null || request.getParameter("parceria").equals("")) && listEmail.get(0).getParceria()!= null && listEmail.get(0).getParceria().equals("minhacasa")) {
  150.                 request.setAttribute("lojaDiferenteEmail", listEmail.get(0).getEmail());
  151.                 erro = true;
  152.             }
  153.             // Loja: MC, Cliente: MMM
  154.             else if(id == null && request.getParameter("parceria") != null && request.getParameter("parceria").equals("minhacasa") && (listEmail.get(0).getParceria() == null || listEmail.get(0).getParceria().equals(""))) {
  155.                 request.setAttribute("lojaDiferenteEmail", listEmail.get(0).getEmail());
  156.                 erro = true;
  157.             }
  158.            
  159.             if(id != null && (listEmail.get(0).getAtivo() == null || listEmail.get(0).getAtivo() == true)) {
  160.                 long idList;
  161.  
  162.                 // FIXME Isto não deveria ser feito antes de tudo igual no cpf?
  163.                 for(int k = 0; k < listEmail.size(); k++){
  164.                     idList = listEmail.get(k).getId();
  165.                     //if((listEmail.get(k).getRepetido() != null && listEmail.get(k).getRepetido() == true) || id == idList) {
  166.                     if (id == idList) {
  167.                         listEmail.remove(k);
  168.                         k--;
  169.                     }
  170.                 }
  171.                
  172.                 if(listEmail.size() > 0) {
  173.                     //TODO para saber de onde este email ve,: listEmail.get(0).getEmail(), so que vale fazer para todos
  174.                     request.setAttribute("emailAtribuido", listEmail.get(0).getEmail());
  175.                     erro = true;
  176.                 }
  177.             }
  178.         }
  179.  
  180.         // Caso alguém retome a usar um e-mail que esta repetido, estrague este e-mail concatenando um ponto para não influenciar negativamente no login de ambos.
  181.         for(int k = 0; k < listEmailRepetido.size(); k++){
  182.             ClienteTO aux;
  183.             //if(listEmailRepetido.get(k).getEmail() != null && listEmailRepetido.get(k).getEmail().equals(cliente.getEmail().trim()) && listEmailRepetido.get(k).getRepetido() != null && listEmailRepetido.get(k).getRepetido() == true){
  184.                 aux = listEmailRepetido.get(k);
  185.                 aux.setEmail(aux.getEmail().concat("."));
  186.                 mgr.save(aux);
  187.             //}
  188.         }
  189.        
  190.         return erro;
  191.     }
  192.  
  193.     public String save(){
  194.         ClienteTO cliente = (ClienteTO)base;
  195.         ((HttpServletResponse)response).setHeader("P3P","CP='IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA'");
  196.        
  197.         String osklen = (String) ((SessionMap)getSession()).get("osklen");
  198.         if(osklen != null && osklen.equals("true"))
  199.             ((SessionMap)getSession()).put("manterOsklen", "true");
  200.        
  201.         String twitter =  cliente.getTwitter().replaceAll("[\\s|\\n]+", "");
  202.         String facebook =  cliente.getFacebook().replaceAll("[\\s|\\n]+", "");
  203.        
  204.         //Caso facebook e twitter não tenham sido preenchidos
  205.         if(twitter.equals("@") || twitter.equals("") || twitter.isEmpty()) {
  206.             cliente.setTwitter(null);
  207.         }
  208.         if(facebook.equals("http://") || facebook.equals("") || facebook.isEmpty()){
  209.             cliente.setFacebook(null);
  210.         }
  211.        
  212.         boolean erro = false;
  213.        
  214.         erro = checarCpf(cliente.getCpf(), cliente.getId());
  215.        
  216.         if(!erro){
  217.             checarEmail(cliente.getEmail(), cliente.getId());
  218.         }
  219.  
  220.         if(erro) {
  221.             return "input";
  222.         }
  223.        
  224.         cliente.setLogin(cliente.getEmail());
  225.         if(!Validador.validarCep(cliente.getEndereco().getCep())) {
  226.             //erro ->> cep esta errado
  227.             request.setAttribute("erroEmail", "cep");
  228.             return "input";
  229.         }
  230.         else {
  231.             String senha = cliente.getSenha();         
  232.             if( cliente.getId() == null ||
  233.                     cliente.getId() != null && !cliente.getSenha().equals( ((ClienteTO)mgr.get(cliente.getId().toString())).getSenha() )) {
  234.                 senha = Md5.getHash(senha);
  235.                 cliente.setSenha(senha);
  236.                 cliente.setConfirmacao(senha);
  237.             }
  238.         }
  239.         cliente = tratInput(cliente);
  240.        
  241.         if( cliente.getId() == null ) {
  242.             cliente.setFuncionarioGrupo(Boolean.FALSE);
  243.             cliente.setConfirmadoErp(Boolean.TRUE);
  244.             cliente.setIp(request.getRemoteAddr());
  245.             if(((HttpServletRequest) request).getServletPath().contains("/minhacasa")){
  246.                 cliente.setParceria("minhacasa");
  247.             }
  248.         }
  249.        
  250.         ProfissaoTO profissao = null;
  251.         if(cliente.getProfissao() != null && cliente.getProfissao().getId() != null) {
  252.             profissao = (ProfissaoTO)mgrProfissao.get(cliente.getProfissao().getId().toString());
  253.             if (profissao!=null && (profissao.getAceitaOutro()==null || !profissao.getAceitaOutro()))
  254.                 cliente.setOutraProfissaoDescricao(null);
  255.         }
  256.         else
  257.             cliente.setOutraProfissaoDescricao(null);
  258.        
  259.         OrigemClienteTO origemCliente = null;
  260.         if (cliente.getOrigemCliente() != null && cliente.getOrigemCliente().getId() != null) {
  261.             origemCliente = (OrigemClienteTO)mgrOrigemCliente.get(cliente.getOrigemCliente().getId().toString());
  262.             if (origemCliente!=null && (origemCliente.getAceitaOutro()==null || !origemCliente.getAceitaOutro()))
  263.                 cliente.setOutraOrigemDescricao(null);             
  264.         }
  265.         else
  266.             cliente.setOutraOrigemDescricao(null);
  267.        
  268.        
  269.         cliente.setProfissao(profissao);
  270.         cliente.setOrigemCliente(origemCliente);
  271.        
  272.         if((cliente.getTipoPessoa().equals(ClienteTO.TIPO_PESSOA_FISICA) && !Validador.validarCpf(cliente.getCpf()))) {
  273.             //erro ->> cpf inválido
  274.             request.setAttribute("erroEmail", "cpf");
  275.             return "input";
  276.         } else if ((cliente.getTipoPessoa().equals(ClienteTO.TIPO_PESSOA_JURIDICA) && !Validador.validarCnpj(cliente.getCpf()))) {
  277.             //erro ->> cnpj inválido
  278.             request.setAttribute("erroEmail", "cnpj");
  279.             return "input";
  280.         }
  281.        
  282.         //Tirando a máscara do CPF pra salvar apenas numeros
  283.         cliente.setCpf(cliente.getCpf().replace(".", "").replace("-", "").replace("/", ""));
Advertisement
Add Comment
Please, Sign In to add comment