Oi pessoal!
Criei um sistema onde o cliente efetua pagamento para poder usar o serviço oferecido pelo site, o cliente escolhe o plano (30, 60 ou 90 dias) e efetua o pagamento no pagseguro.
O problema é quanto ao vencimento, como posso modelar estas classes para que exista uma forma de cobrar do cliente em determinadas datas e que em pagamentos efetuados antes da data de vencimento, esta data não seja alterada?
No momento tenho esta classes:
public class Cliente {
# atributos de cliente
@OneToOne
private Plano plano;
}
public class Plano {
private Integer codPlano;
private String nome;
private BigDecimal valor;
private String descricao;
}
public class Pagamento {
private BigDecimal valor;
private Cliente cliente;
@OneToOne
private Transacao transacao;
}
public class Transacao {
private Integer identificacao;
private Date dataRealizada;
private String status;
private String tipoPagamento;
@ManyToOne
private Pagamento pagamento;
}
A idéia é ter a mesma funcionalidade de planos de hospedagem encontrados na internet. O cliente escolhe um plano, paga e depois terá datas de vencimento, efetuando pagamento antecipado, a data de vencimento não é alterada.
Alguma dica?
Abraço!