Skip to content

Commit

Permalink
Criação da classe ContribuicaoLogController [Issue #728]
Browse files Browse the repository at this point in the history
  • Loading branch information
GabrielPintoSouza committed Sep 26, 2024
1 parent 4853256 commit 33a5816
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 16 deletions.
54 changes: 54 additions & 0 deletions html/apoio/controller/ContribuicaoLogController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php
require_once '../model/ContribuicaoLog.php';
require_once '../dao/ContribuicaoLogDAO.php';

class ContribuicaoLogController
{
public function criar()
{
$valor = filter_input(INPUT_POST, 'valor');
$idSocio = filter_input(INPUT_POST, 'id_socio');

//$servicoPagamento = Verificar qual a melhor maneira de detectar o serviço de pagamento

//Verificar qual fuso horário será utilizado posteriormente
$dataGeracao = date('Y-m-d');
$dataVencimento = date_modify(new DateTime(), '+7 day')->format('Y-m-d');

$contribuicaoLog = new ContribuicaoLog();
$contribuicaoLog
->setValor($valor)
->setCodigo($contribuicaoLog->gerarCodigo())
->setDataGeracao($dataGeracao)
->setDataVencimento($dataVencimento)
->setIdSocio($idSocio);

try {
$contribuicaoLogDao = new ContribuicaoLogDAO();

/*Implementar controle de transação para que o log só seja registrado
caso o serviço de pagamento tenha sido executado*/
$contribuicaoLogDao->criar($contribuicaoLog);
//Fazer chamada do serviço de pagamento requisitado
} catch (PDOException $e) {
//implementar tratamento de erro
echo 'Erro: '.$e->getMessage();
}
}

public function pagarPorId(){
$idContribuicaoLog = filter_input(INPUT_POST, 'id_contribuicao');

if(!$idContribuicaoLog || $idContribuicaoLog < 1){
http_response_code(400);
exit('O id fornecido não é válido');//substituir posteriormente por redirecionamento com mensagem de feedback
}

try{
$contribuicaoLogDao = new ContribuicaoLogDAO();
$contribuicaoLogDao->pagarPorId($idContribuicaoLog);
}catch(PDOException $e){
echo 'Erro: '.$e->getMessage(); //substituir posteriormente por redirecionamento com mensagem de feedback
}
}
}
47 changes: 31 additions & 16 deletions html/apoio/model/ContribuicaoLog.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?php
class ContribuicaoLog{
class ContribuicaoLog
{
private $id;
private $valor;
private $codigo;
Expand All @@ -8,9 +9,23 @@ class ContribuicaoLog{
private $idSocio;
private $statusPagamento = 0;

/**
* Recebe como parâmetro um inteiro e retorna um código de caracteres aleatórios do tamanho informado
*/
public function gerarCodigo(int $tamanho = 16)
{
$caracteres = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$caracteresTamanho = strlen($caracteres);
$codigoString = '';
for ($i = 0; $i < $tamanho; $i++) {
$codigoString .= $caracteres[rand(0, $caracteresTamanho - 1)];
}
return $codigoString;
}

/**
* Get the value of id
*/
*/
public function getId()
{
return $this->id;
Expand All @@ -20,7 +35,7 @@ public function getId()
* Set the value of id
*
* @return self
*/
*/
public function setId($id)
{
$this->id = $id;
Expand All @@ -30,7 +45,7 @@ public function setId($id)

/**
* Get the value of valor
*/
*/
public function getValor()
{
return $this->valor;
Expand All @@ -40,7 +55,7 @@ public function getValor()
* Set the value of valor
*
* @return self
*/
*/
public function setValor($valor)
{
$this->valor = $valor;
Expand All @@ -50,7 +65,7 @@ public function setValor($valor)

/**
* Get the value of codigo
*/
*/
public function getCodigo()
{
return $this->codigo;
Expand All @@ -60,7 +75,7 @@ public function getCodigo()
* Set the value of codigo
*
* @return self
*/
*/
public function setCodigo($codigo)
{
$this->codigo = $codigo;
Expand All @@ -70,7 +85,7 @@ public function setCodigo($codigo)

/**
* Get the value of dataGeracao
*/
*/
public function getDataGeracao()
{
return $this->dataGeracao;
Expand All @@ -80,7 +95,7 @@ public function getDataGeracao()
* Set the value of dataGeracao
*
* @return self
*/
*/
public function setDataGeracao($dataGeracao)
{
$this->dataGeracao = $dataGeracao;
Expand All @@ -90,7 +105,7 @@ public function setDataGeracao($dataGeracao)

/**
* Get the value of dataVencimento
*/
*/
public function getDataVencimento()
{
return $this->dataVencimento;
Expand All @@ -100,7 +115,7 @@ public function getDataVencimento()
* Set the value of dataVencimento
*
* @return self
*/
*/
public function setDataVencimento($dataVencimento)
{
$this->dataVencimento = $dataVencimento;
Expand All @@ -110,7 +125,7 @@ public function setDataVencimento($dataVencimento)

/**
* Get the value of idSocio
*/
*/
public function getIdSocio()
{
return $this->idSocio;
Expand All @@ -120,7 +135,7 @@ public function getIdSocio()
* Set the value of idSocio
*
* @return self
*/
*/
public function setIdSocio($idSocio)
{
$this->idSocio = $idSocio;
Expand All @@ -130,7 +145,7 @@ public function setIdSocio($idSocio)

/**
* Get the value of statusPagamento
*/
*/
public function getStatusPagamento()
{
return $this->statusPagamento;
Expand All @@ -140,11 +155,11 @@ public function getStatusPagamento()
* Set the value of statusPagamento
*
* @return self
*/
*/
public function setStatusPagamento($statusPagamento)
{
$this->statusPagamento = $statusPagamento;

return $this;
}
}
}

0 comments on commit 33a5816

Please sign in to comment.