Rev 630 | Rev 636 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 620 | blopes | 1 | package br.com.ec.domain.dto; |
| 2 | |||
| 623 | blopes | 3 | import java.util.Date; |
| 620 | blopes | 4 | import java.util.List; |
| 5 | |||
| 625 | blopes | 6 | import javax.persistence.Transient; |
| 7 | |||
| 624 | blopes | 8 | import br.com.ec.core.util.VerificadorUtil; |
| 629 | blopes | 9 | import br.com.ec.domain.model.NpsPosVenda; |
| 624 | blopes | 10 | |
| 620 | blopes | 11 | public class PosVendaDTO { |
| 12 | |||
| 13 | // INICIAR PÓS-VENDA APÓS A REALIZAÇÃO DE UMA VENDA COM O CONTATO DO CLIENTE |
||
| 621 | blopes | 14 | // PARA FINALIZAR, AO MENOS, É PRECISO TER AS DUAS ATIVAÇÕES INICIAIS (AGRADECIMENTO+NPS ATENDIMENTO E NPS DO PRODUTO |
| 623 | blopes | 15 | |
| 621 | blopes | 16 | private Long sequencial; |
| 620 | blopes | 17 | private VendaDTO vendaDTO; |
| 623 | blopes | 18 | private ClienteDTO clienteDTO; |
| 620 | blopes | 19 | private Date dataCadastro; |
| 625 | blopes | 20 | private Date dataInicio; |
| 21 | private Date dataFinalizacao; |
||
| 627 | blopes | 22 | private String tipoFinalizacao; // A - ATENDIMENTO ENCERRADO // V - NOVA VENDA |
| 623 | blopes | 23 | private String observacao; |
| 625 | blopes | 24 | private String scriptAtivacaoAgradecimento; |
| 620 | blopes | 25 | |
| 630 | blopes | 26 | private NpsPosVendaDTO npsPosVendaAgradecimento; |
| 629 | blopes | 27 | private NpsPosVendaDTO npsPosVendaProduto; |
| 28 | |||
| 620 | blopes | 29 | private List<PosVendaAtivacaoDTO> listaAtivacoes; |
| 30 | |||
| 629 | blopes | 31 | public PosVendaDTO() {} |
| 32 | |||
| 33 | public PosVendaDTO(Long sequencial) { |
||
| 34 | this.sequencial = sequencial; |
||
| 620 | blopes | 35 | } |
| 36 | |||
| 631 | blopes | 37 | public static String CONSULTA_DTO_SIMPLES = "e.sequencial, " |
| 38 | + " (SELECT vd.sequencial FROM Venda vd WHERE vd.sequencial = e.venda.sequencial), " |
||
| 39 | // + "e.venda.sequencial, e.venda.dataVenda, " |
||
| 40 | + "e.cliente.sequencial, e.cliente.nome, e.cliente.cpfCnpj, e.cliente.dataNascimento," |
||
| 627 | blopes | 41 | + "e.cliente.contato, e.cliente.telefone, e.dataCadastro, e.dataInicio, e.dataFinalizacao, e.tipoFinalizacao, e.observacao"; |
| 631 | blopes | 42 | public PosVendaDTO(Long sequencial, Long sequencialVenda, Long sequencialCliente, String nomeCliente, String cpfCnpjCliente, |
| 43 | Date dataNascimentoCliente, String contatoCliente, String telefoneCliente, Date dataCadastro, Date dataInicio, Date dataFinalizacao, |
||
| 44 | String tipoFinalizacao, String observacao) { |
||
| 623 | blopes | 45 | super(); |
| 46 | this.sequencial = sequencial; |
||
| 47 | VendaDTO vendaDTO = new VendaDTO(sequencialVenda); |
||
| 48 | this.vendaDTO = vendaDTO; |
||
| 631 | blopes | 49 | this.clienteDTO = new ClienteDTO(sequencialCliente, nomeCliente, cpfCnpjCliente, dataNascimentoCliente, contatoCliente, telefoneCliente); |
| 623 | blopes | 50 | this.dataCadastro = dataCadastro; |
| 627 | blopes | 51 | this.dataInicio = dataInicio; |
| 623 | blopes | 52 | this.dataFinalizacao = dataFinalizacao; |
| 53 | this.tipoFinalizacao = tipoFinalizacao; |
||
| 627 | blopes | 54 | this.observacao = observacao; |
| 623 | blopes | 55 | } |
| 56 | |||
| 621 | blopes | 57 | public Long getSequencial() { |
| 58 | return sequencial; |
||
| 59 | } |
||
| 60 | public void setSequencial(Long sequencial) { |
||
| 61 | this.sequencial = sequencial; |
||
| 62 | } |
||
| 63 | |||
| 620 | blopes | 64 | public VendaDTO getVendaDTO() { |
| 65 | return vendaDTO; |
||
| 66 | } |
||
| 67 | public void setVendaDTO(VendaDTO vendaDTO) { |
||
| 68 | this.vendaDTO = vendaDTO; |
||
| 69 | } |
||
| 70 | |||
| 623 | blopes | 71 | public ClienteDTO getClienteDTO() { |
| 72 | return clienteDTO; |
||
| 73 | } |
||
| 74 | public void setClienteDTO(ClienteDTO clienteDTO) { |
||
| 75 | this.clienteDTO = clienteDTO; |
||
| 76 | } |
||
| 77 | |||
| 620 | blopes | 78 | public Date getDataCadastro() { |
| 79 | return dataCadastro; |
||
| 80 | } |
||
| 81 | public void setDataCadastro(Date dataCadastro) { |
||
| 82 | this.dataCadastro = dataCadastro; |
||
| 83 | } |
||
| 84 | |||
| 625 | blopes | 85 | public Date getDataInicio() { |
| 86 | return dataInicio; |
||
| 87 | } |
||
| 88 | public void setDataInicio(Date dataInicio) { |
||
| 89 | this.dataInicio = dataInicio; |
||
| 90 | } |
||
| 91 | |||
| 623 | blopes | 92 | public Date getDataFinalizacao() { |
| 93 | return dataFinalizacao; |
||
| 94 | } |
||
| 95 | public void setDataFinalizacao(Date dataFinalizacao) { |
||
| 96 | this.dataFinalizacao = dataFinalizacao; |
||
| 97 | } |
||
| 98 | |||
| 99 | public String getObservacao() { |
||
| 100 | return observacao; |
||
| 101 | } |
||
| 102 | public void setObservacao(String observacao) { |
||
| 103 | this.observacao = observacao; |
||
| 104 | } |
||
| 105 | |||
| 106 | public String getTipoFinalizacao() { |
||
| 107 | return tipoFinalizacao; |
||
| 108 | } |
||
| 109 | public void setTipoFinalizacao(String tipoFinalizacao) { |
||
| 110 | this.tipoFinalizacao = tipoFinalizacao; |
||
| 111 | } |
||
| 112 | |||
| 630 | blopes | 113 | public NpsPosVendaDTO getNpsPosVendaAgradecimento() { |
| 114 | return npsPosVendaAgradecimento; |
||
| 629 | blopes | 115 | } |
| 630 | blopes | 116 | public void setNpsPosVendaAgradecimento(NpsPosVendaDTO npsPosVendaAgradecimento) { |
| 117 | this.npsPosVendaAgradecimento = npsPosVendaAgradecimento; |
||
| 629 | blopes | 118 | } |
| 119 | |||
| 120 | public NpsPosVendaDTO getNpsPosVendaProduto() { |
||
| 121 | return npsPosVendaProduto; |
||
| 122 | } |
||
| 123 | public void setNpsPosVendaProduto(NpsPosVendaDTO npsPosVendaProduto) { |
||
| 124 | this.npsPosVendaProduto = npsPosVendaProduto; |
||
| 125 | } |
||
| 126 | |||
| 620 | blopes | 127 | public List<PosVendaAtivacaoDTO> getListaAtivacoes() { |
| 128 | return listaAtivacoes; |
||
| 129 | } |
||
| 130 | public void setListaAtivacoes(List<PosVendaAtivacaoDTO> listaAtivacoes) { |
||
| 131 | this.listaAtivacoes = listaAtivacoes; |
||
| 132 | } |
||
| 133 | |||
| 625 | blopes | 134 | public String getScriptAtivacaoAgradecimento() { |
| 624 | blopes | 135 | String scriptAtivacaoAgradecimento = "Olá, [Nome]! 👋" |
| 621 | blopes | 136 | + "\nAgradecemos por comprar na Espaço Case! 💙" |
| 624 | blopes | 137 | + "\nEsperamos que você curta muito o seu novo produto." |
| 625 | blopes | 138 | + "\nSe precisar de ajuda com algo ou quiser dicas de uso, estamos por aqui! 😉" |
| 139 | + "\n\n📲 Siga a gente no Instagram para novidades e promoções: @espacocaseoficial" |
||
| 140 | + "\n\nPara melhorar nosso atendimento, que tal responder rapidinho?" |
||
| 624 | blopes | 141 | + "\nDe 1 a 5, qual a probabilidade de você recomendar nosso atendimento para um amigo?" |
| 142 | + "\n👉 [Link]" |
||
| 143 | + ""; |
||
| 625 | blopes | 144 | scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Link]", linkNpsAtendimento()); |
| 624 | blopes | 145 | if (VerificadorUtil.naoEstaNulo(getClienteDTO())) { |
| 146 | scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Nome]", getClienteDTO().getObterPrimeiroNome()); |
||
| 147 | } |
||
| 148 | return scriptAtivacaoAgradecimento; |
||
| 621 | blopes | 149 | } |
| 625 | blopes | 150 | public void setScriptAtivacaoAgradecimento(String scriptAtivacaoAgradecimento) { |
| 151 | this.scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento; |
||
| 152 | } |
||
| 621 | blopes | 153 | |
| 625 | blopes | 154 | public String linkNpsAtendimento() { |
| 155 | return "https://espacocase.net/novo/sistema/comercial/nps_atendimento.xhtml?sq=" + getSequencial(); |
||
| 156 | } |
||
| 157 | |||
| 630 | blopes | 158 | public String corDaSituacaoAgradecimento() { |
| 159 | return VerificadorUtil.estaNulo(getDataInicio())? "danger" : VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento().getDataFinalizacao())? "success" : "warning" : "warning"; |
||
| 625 | blopes | 160 | } |
| 161 | |||
| 629 | blopes | 162 | public String notaNpsPosVendaAtendimento() { |
| 630 | blopes | 163 | return VerificadorUtil.naoEstaNulo(getNpsPosVendaAgradecimento())? "" + getNpsPosVendaAgradecimento().getNota() : "SEM NOTA!"; |
| 629 | blopes | 164 | } |
| 165 | |||
| 631 | blopes | 166 | public Long getSequencialDaVenda() { |
| 167 | return VerificadorUtil.naoEstaNulo(getVendaDTO())? VerificadorUtil.naoEstaNulo(getVendaDTO().getSequencial())? getVendaDTO().getSequencial() : null : null; |
||
| 168 | } |
||
| 169 | |||
| 620 | blopes | 170 | } |