Subversion Repositories Integrator Subversion

Rev

Rev 624 | Rev 627 | 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;
9
 
620 blopes 10
public class PosVendaDTO {
11
 
12
        // INICIAR PÓS-VENDA APÓS A REALIZAÇÃO DE UMA VENDA COM O CONTATO DO CLIENTE
621 blopes 13
        // PARA FINALIZAR, AO MENOS, É PRECISO TER AS DUAS ATIVAÇÕES INICIAIS (AGRADECIMENTO+NPS ATENDIMENTO E NPS DO PRODUTO
623 blopes 14
 
621 blopes 15
        private Long sequencial;
620 blopes 16
        private VendaDTO vendaDTO;
623 blopes 17
        private ClienteDTO clienteDTO;
620 blopes 18
        private Date dataCadastro;
625 blopes 19
        private Date dataInicio;
20
        private Date dataFinalizacao;
623 blopes 21
        private String observacao;
621 blopes 22
        private String tipoFinalizacao; // A - ATENDIMENTO ENCERRADO // V - NOVA VENDA
625 blopes 23
        private String scriptAtivacaoAgradecimento;
620 blopes 24
 
25
        private List<PosVendaAtivacaoDTO> listaAtivacoes;
26
 
27
        public PosVendaDTO() {
28
        }
29
 
623 blopes 30
        public static String CONSULTA_DTO_SIMPLES = "e.sequencial, e.venda.sequencial, e.venda.dataVenda, e.cliente.sequencial, e.cliente.nome, e.cliente.dataNascimento,"
31
                        + "e.cliente.contato, e.cliente.telefone, e.dataCadastro, e.observacao, e.dataFinalizacao, e.tipoFinalizacao";
32
        public PosVendaDTO(Long sequencial, Long sequencialVenda, Date dataVenda, Long sequencialCliente, String nomeCliente, Date dataNascimentoCliente,
33
                        String contatoCliente, String telefoneCliente, Date dataCadastro, String observacao, Date dataFinalizacao, String tipoFinalizacao) {
34
                super();
35
                this.sequencial = sequencial;
36
                VendaDTO vendaDTO = new VendaDTO(sequencialVenda);
37
                vendaDTO.setDataVenda(dataVenda);
38
                this.vendaDTO = vendaDTO;
39
                this.clienteDTO = new ClienteDTO(sequencialCliente, nomeCliente, dataNascimentoCliente, contatoCliente, telefoneCliente);
40
                this.dataCadastro = dataCadastro;
41
                this.observacao = observacao;
42
                this.dataFinalizacao = dataFinalizacao;
43
                this.tipoFinalizacao = tipoFinalizacao;
44
        }
45
 
621 blopes 46
        public Long getSequencial() {
47
                return sequencial;
48
        }
49
        public void setSequencial(Long sequencial) {
50
                this.sequencial = sequencial;
51
        }
52
 
620 blopes 53
        public VendaDTO getVendaDTO() {
54
                return vendaDTO;
55
        }
56
        public void setVendaDTO(VendaDTO vendaDTO) {
57
                this.vendaDTO = vendaDTO;
58
        }
59
 
623 blopes 60
        public ClienteDTO getClienteDTO() {
61
                return clienteDTO;
62
        }
63
        public void setClienteDTO(ClienteDTO clienteDTO) {
64
                this.clienteDTO = clienteDTO;
65
        }
66
 
620 blopes 67
        public Date getDataCadastro() {
68
                return dataCadastro;
69
        }
70
        public void setDataCadastro(Date dataCadastro) {
71
                this.dataCadastro = dataCadastro;
72
        }
73
 
625 blopes 74
        public Date getDataInicio() {
75
                return dataInicio;
76
        }
77
        public void setDataInicio(Date dataInicio) {
78
                this.dataInicio = dataInicio;
79
        }
80
 
623 blopes 81
        public Date getDataFinalizacao() {
82
                return dataFinalizacao;
83
        }
84
        public void setDataFinalizacao(Date dataFinalizacao) {
85
                this.dataFinalizacao = dataFinalizacao;
86
        }
87
 
88
        public String getObservacao() {
89
                return observacao;
90
        }
91
        public void setObservacao(String observacao) {
92
                this.observacao = observacao;
93
        }
94
 
95
        public String getTipoFinalizacao() {
96
                return tipoFinalizacao;
97
        }
98
        public void setTipoFinalizacao(String tipoFinalizacao) {
99
                this.tipoFinalizacao = tipoFinalizacao;
100
        }
101
 
620 blopes 102
        public List<PosVendaAtivacaoDTO> getListaAtivacoes() {
103
                return listaAtivacoes;
104
        }
105
        public void setListaAtivacoes(List<PosVendaAtivacaoDTO> listaAtivacoes) {
106
                this.listaAtivacoes = listaAtivacoes;
107
        }
108
 
625 blopes 109
        public String getScriptAtivacaoAgradecimento() {
624 blopes 110
                String scriptAtivacaoAgradecimento = "Olá, [Nome]! 👋"
621 blopes 111
                                + "\nAgradecemos por comprar na Espaço Case! 💙"
624 blopes 112
                                + "\nEsperamos que você curta muito o seu novo produto."
625 blopes 113
                                + "\nSe precisar de ajuda com algo ou quiser dicas de uso, estamos por aqui! 😉"
114
                                + "\n\n📲 Siga a gente no Instagram para novidades e promoções: @espacocaseoficial"
115
                                + "\n\nPara melhorar nosso atendimento, que tal responder rapidinho?"
624 blopes 116
                                + "\nDe 1 a 5, qual a probabilidade de você recomendar nosso atendimento para um amigo?"
117
                                + "\n👉 [Link]"
118
                                + "";
625 blopes 119
                scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Link]", linkNpsAtendimento());
624 blopes 120
                if (VerificadorUtil.naoEstaNulo(getClienteDTO())) {
121
                        scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento.replace("[Nome]", getClienteDTO().getObterPrimeiroNome());
122
                }
123
                return scriptAtivacaoAgradecimento;
621 blopes 124
        }
625 blopes 125
        public void setScriptAtivacaoAgradecimento(String scriptAtivacaoAgradecimento) {
126
                this.scriptAtivacaoAgradecimento = scriptAtivacaoAgradecimento;
127
        }
621 blopes 128
 
625 blopes 129
        public String linkNpsAtendimento() {
130
                return "https://espacocase.net/novo/sistema/comercial/nps_atendimento.xhtml?sq=" + getSequencial();
131
        }
132
 
133
        public String corDaSituacao() {
134
                return VerificadorUtil.estaNulo(getDataInicio())? "danger" : "warning";
135
        }
136
 
620 blopes 137
}