Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, eh o seguinte... Estou fazendo um sistema para HOST e preciso gerar faturas seguintes em um CRON job..
Segue estruturas das tabelas:
CREATE TABLE IF NOT EXISTS `Usuarios_Produtos` (
`Tipo` int(255) NOT NULL COMMENT '#1 Hospedagem #2 Dominios',
`IdProduto` int(255) NOT NULL AUTO_INCREMENT,
`Usuarios_IdUsuario` int(255) NOT NULL,
`DiaDePagamento` varchar(2) NOT NULL,
`Periodo` varchar(3) NOT NULL COMMENT '#em meses - é a periocidade da fatura em meses',
`DataAssinatura` datetime NOT NULL,
`Planos_IdPlano` int(255) NOT NULL,
`PrimeiroPagamento` datetime NOT NULL COMMENT '#data do primeiro pagamento efetuado',
PRIMARY KEY (`IdProduto`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `Usuarios_Faturas` (
`IdFatura` int(255) NOT NULL AUTO_INCREMENT,
`Produtos_IdProduto` int(255) NOT NULL,
`Status` char(1) NOT NULL COMMENT '#0 pago #1pendente',
`DataDeVencimento` datetime NOT NULL,
PRIMARY KEY (`IdFatura`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
O CRON atualmente está assim:
class Faturas
{
function __construct()
{
$this->BuscaNovasFaturas();
return true;
}
function BuscaNovasFaturas()
{
$BuscaProdutosSemFatura = FetchArray('SELECT *, PrimeiroPagamento as ProximoPagamento FROM Usuarios_Produtos WHERE IdProduto NOT IN (SELECT Produtos_IdProduto as IdProduto FROM Usuarios_Faturas)'); $SqlSemFaturas = 'INSERT INTO Usuarios_Faturas (Produtos_IdProduto, Status, DataDeVencimento) VALUES ';
foreach($BuscaProdutosSemFatura as $i => $v)
{
if ($i != 0)
{
$SqlSemFaturas .= ',';
}
$SqlSemFaturas .= '(';
$SqlSemFaturas .= '\''.$v['IdProduto'].'\'';
$SqlSemFaturas .= ', \'0\'';
$SqlSemFaturas .= ', \''.$v['ProximoPagamento'].'\'';
$SqlSemFaturas .= ') ';
}
if (isset($BuscaProdutosSemFatura[0]))
{
mysql_query($SqlSemFaturas);
}
$this->AdicionaFaturasSeguintes();
return true;
}
function AdicionaFaturasSeguintes()
{
}
}
$Gera = new Faturas();
?>
Do jeito que está, ele seleciona o primeiro pagamento e adiciona na fatua como PAGO.
o que falta:
o objetivo é adicionar na Produtos_Faturas a proxima fatura a ser paga (lembrando do fato da periocidade)
Não quero que ninguém faça por mim, só quero uma LUZ de como fazer hehehe
Agradeço desde já.
Carregando comentários...