Subversion Repositories Integrator Subversion

Rev

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

Rev 685 Rev 686
Line 14... Line 14...
14
import br.com.ec.domain.dto.ParametrosVendaDTO;
14
import br.com.ec.domain.dto.ParametrosVendaDTO;
15
import br.com.ec.domain.model.Cashback;
15
import br.com.ec.domain.model.Cashback;
16
import br.com.ec.domain.model.Lancamento;
16
import br.com.ec.domain.model.Lancamento;
17
import br.com.ec.domain.model.Venda;
17
import br.com.ec.domain.model.Venda;
18
import br.com.ec.domain.model.tipos.TipoCashback;
18
import br.com.ec.domain.model.tipos.TipoCashback;
-
 
19
import br.com.ec.domain.model.tipos.TipoProduto;
19
import br.com.ec.domain.service.cashback.CashbackService;
20
import br.com.ec.domain.service.cashback.CashbackService;
20
import br.com.ec.infrastructure.repository.CashbackRepository;
21
import br.com.ec.infrastructure.repository.CashbackRepository;
21
22
22
@Service
23
@Service
23
public class CashbackServiceImpl extends AbstractService<Cashback> implements CashbackService {
24
public class CashbackServiceImpl extends AbstractService<Cashback> implements CashbackService {
Line 35... Line 36...
35
                return cashbackRepository;
36
                return cashbackRepository;
36
        }
37
        }
37
       
38
       
38
        @Override
39
        @Override
39
        public List<CashbackDTO> consultarCashbackCliente(Long sequencialCliente) {
40
        public List<CashbackDTO> consultarCashbackCliente(Long sequencialCliente) {
40
                // TODO Auto-generated method stub
-
 
41
                return null;
-
 
-
 
41
                return cashbackRepository.consultarCashbackCliente(sequencialCliente);
42
        }
42
        }
43
       
43
       
44
        @Override
44
        @Override
45
        public Double consultarSaldoCliente(Long sequencialCliente, String tipoCashback) {
-
 
46
                return cashbackRepository.consultarSaldoCliente(sequencialCliente, tipoCashback);
-
 
-
 
45
        public Double consultarSaldoCliente(Long sequencialCliente) {
-
 
46
                Double saldo = 0.0;
-
 
47
                Double valorCreditado = cashbackRepository.consultarSaldoCliente(sequencialCliente, TipoCashback.ENTRADA.getValor());
-
 
48
                Double valorUtilizado = cashbackRepository.consultarSaldoCliente(sequencialCliente, TipoCashback.SAIDA.getValor());
-
 
49
                if (VerificadorUtil.naoEstaNulo(valorCreditado)) {
-
 
50
                        saldo += valorCreditado;
-
 
51
                        if (VerificadorUtil.naoEstaNulo(valorUtilizado)) {
-
 
52
                                saldo -= valorUtilizado;
-
 
53
                        }
-
 
54
                }
-
 
55
                return saldo;
47
        }
56
        }
48
       
57
       
49
        @Override
58
        @Override
50
        public void gerarCashback(ParametrosVendaDTO parametrosVendaDTO, Venda venda) {
59
        public void gerarCashback(ParametrosVendaDTO parametrosVendaDTO, Venda venda) {
51
                // TODO: 10% capas e pelĂ­culas e 5% no geral (sem descontos ou cupons)
60
                // TODO: 10% capas e pelĂ­culas e 5% no geral (sem descontos ou cupons)
Line 53... Line 62...
53
                if (VerificadorUtil.naoEstaNulo(parametrosVendaDTO.getCliente())) {
62
                if (VerificadorUtil.naoEstaNulo(parametrosVendaDTO.getCliente())) {
54
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosVendaDTO.getLancamentos())) {
63
                        if (VerificadorUtil.naoEstaNuloOuVazio(parametrosVendaDTO.getLancamentos())) {
55
                                for (Lancamento lancamento : parametrosVendaDTO.getLancamentos()) {
64
                                for (Lancamento lancamento : parametrosVendaDTO.getLancamentos()) {
56
                                        if (VerificadorUtil.naoEstaNulo(lancamento.getValorVenda()) && VerificadorUtil.naoEstaNulo(lancamento.getValorVarejo())) {
65
                                        if (VerificadorUtil.naoEstaNulo(lancamento.getValorVenda()) && VerificadorUtil.naoEstaNulo(lancamento.getValorVarejo())) {
57
                                                if (VerificadorUtil.estaNulo(lancamento.getCupom()) && lancamento.getValorVenda() >= lancamento.getValorVarejo()) {
66
                                                if (VerificadorUtil.estaNulo(lancamento.getCupom()) && lancamento.getValorVenda() >= lancamento.getValorVarejo()) {
58
                                                        if (lancamento.getProduto().tipoProdutoEhCapaOuPelicula()) {
-
 
59
                                                                valorCashback = valorCashback + lancamento.getValorVenda()/10;
-
 
60
                                                        } else {
-
 
61
                                                                valorCashback = valorCashback + lancamento.getValorVenda()/20;
-
 
62
                                                        }
-
 
-
 
67
                                                        valorCashback = valorCashback + lancamento.getValorVenda()/100 * TipoProduto.parse(lancamento.getProduto().getTipo()).getPercentualCashback();
63
                                                }
68
                                                }
64
                                        }
69
                                        }
65
                                }
70
                                }
66
                        }
71
                        }
67
                        if (valorCashback > 0.0) {
72
                        if (valorCashback > 0.0) {
Line 81... Line 86...
81
       
86
       
82
        @Override
87
        @Override
83
        public void utilizarCashback(CashbackDTO cashbackDTO) {
88
        public void utilizarCashback(CashbackDTO cashbackDTO) {
84
                // TODO Auto-generated method stub
89
                // TODO Auto-generated method stub
85
               
90
               
-
 
91
        }
-
 
92
       
-
 
93
        @Override
-
 
94
        public void utilizarCashback(Venda venda, Double valorCashback) {
-
 
95
                // TODO Auto-generated method stub
-
 
96
                if (valorCashback > 0.0) {
-
 
97
                        Cashback cashback = new Cashback();
-
 
98
                        cashback.setCliente(venda.getCliente());
-
 
99
                        cashback.setVenda(venda);
-
 
100
                        cashback.setDataHoraEmissao(DataUtils.getDataAtual());
-
 
101
                        cashback.setPrazoInicial(DataUtils.acrescentarDias(DataUtils.getDataAtual(), 7));
-
 
102
                        cashback.setPrazoFinal(DataUtils.acrescentarDias(DataUtils.getDataAtual(), 365));
-
 
103
                        cashback.setTipoCashback(TipoCashback.ENTRADA.getValor());
-
 
104
                        cashback.setValor(valorCashback);
-
 
105
                        cashback.setAtivo(true);
-
 
106
                        cashbackRepository.cadastrar(cashback);
-
 
107
                } else {
-
 
108
                       
-
 
109
                }
86
        }
110
        }
87
       
111
       
88
}
112
}