-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Transferência da página regra_pagamento.php para a nova estrutura de …
…diretórios do módulo de contribuição [Issue #727]
- Loading branch information
1 parent
7e23a80
commit 45e1984
Showing
5 changed files
with
719 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
<?php | ||
|
||
require_once '../model/RegraPagamento.php'; | ||
require_once '../dao/RegraPagamentoDAO.php'; | ||
|
||
class RegraPagamentoController{ | ||
/** | ||
* Retorna as regras de contribuição presentes no sistema | ||
*/ | ||
public function buscaRegrasContribuicao(){ | ||
$regraPagamentoDao = new RegraPagamentoDAO(); | ||
$regrasContribuicao = $regraPagamentoDao->buscaRegrasContribuicao(); | ||
return $regrasContribuicao; | ||
} | ||
|
||
/** | ||
* Retorna o conjunto de regras de pagamento presentes no sistema | ||
*/ | ||
public function buscaConjuntoRegrasPagamento(){ | ||
$regraPagamentoDao = new RegraPagamentoDAO(); | ||
$conjuntoRegrasPagamento = $regraPagamentoDao->buscaConjuntoRegrasPagamento(); | ||
return $conjuntoRegrasPagamento; | ||
} | ||
|
||
/** | ||
* Extraí os dados do formulário e realiza os procedimentos necessários para inserir um novo | ||
* conjunto de regras no sistema. | ||
*/ | ||
public function cadastrar(){ | ||
//Implementar restante da lógica do código... | ||
$meioPagamentoId = $_POST['meio-pagamento-plataforma']; | ||
$regraContribuicaoId = $_POST['regra-pagamento']; | ||
$valor = $_POST['valor']; | ||
try{ | ||
$regraPagamento = new RegraPagamento(); | ||
$regraPagamento | ||
->setMeioPagamentoId($meioPagamentoId) | ||
->setRegraContribuicaoId($regraContribuicaoId) | ||
->setValor($valor) | ||
->setStatus(0) | ||
->cadastrar(); | ||
header("Location: ../view/regra_pagamento.php?msg=cadastrar-sucesso"); | ||
}catch(Exception $e){ | ||
header("Location: ../view/regra_pagamento.php?msg=cadastrar-falha"); | ||
} | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para remover uma regra de pagamento do sistema. | ||
*/ | ||
public function excluirPorId(){ | ||
$regraPagamentoId = trim($_POST['regra-pagamento-id']); | ||
|
||
if (!$regraPagamentoId || empty($regraPagamentoId) || $regraPagamentoId < 1) { | ||
//parar operação | ||
header("Location: ../view/regra_pagamento.php?msg=excluir-falha#mensagem-tabela"); | ||
exit(); | ||
} | ||
|
||
try{ | ||
$regraPagamentoDao = new RegraPagamentoDAO(); | ||
$regraPagamentoDao->excluirPorId($regraPagamentoId); | ||
header("Location: ../view/regra_pagamento.php?msg=excluir-sucesso#mensagem-tabela"); | ||
}catch(Exception $e){ | ||
header("Location: ../view/regra_pagamento.php?msg=excluir-falha#mensagem-tabela"); | ||
} | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para alterar as informações de uma regra de pagamento do sistema | ||
*/ | ||
public function editarPorId(){ | ||
$valor = $_POST['valor']; | ||
$regraPagamentoId = $_POST['id']; | ||
|
||
try{ | ||
$regraPagamento = new RegraPagamento(); | ||
$regraPagamento | ||
->setId($regraPagamentoId) | ||
->setValor($valor) | ||
->editar(); | ||
header("Location: ../view/regra_pagamento.php?msg=editar-sucesso#mensagem-tabela"); | ||
}catch(Exception $e){ | ||
header("Location: ../view/regra_pagamento.php?msg=editar-falha#mensagem-tabela"); | ||
} | ||
} | ||
|
||
/** | ||
* Realiza os procedimentos necessários para ativar/desativar uma regra de pagamento no sistema | ||
*/ | ||
public function alterarStatus() | ||
{ | ||
$regraPagamentoId = $_POST['id']; | ||
$status = trim($_POST['status']); | ||
|
||
if (!$regraPagamentoId || empty($regraPagamentoId)) { | ||
http_response_code(400); | ||
echo json_encode(['Erro' => 'O id deve ser maior ou igual a 1.']);exit; | ||
} | ||
|
||
if (!$status || empty($status)) { | ||
http_response_code(400); | ||
echo json_encode(['Erro' => 'O status informado não é válido.']);exit; | ||
} | ||
|
||
if ($status === 'true') { | ||
$status = 1; | ||
} elseif ($status === 'false') { | ||
$status = 0; | ||
} | ||
|
||
try { | ||
$regraPagamentoDao = new RegraPagamentoDAO(); | ||
$regraPagamentoDao->alterarStatusPorId($status, $regraPagamentoId, $status); | ||
echo json_encode(['Sucesso']); | ||
} catch (Exception $e) { | ||
http_response_code(500); | ||
echo json_encode(['Erro'=>'Ocorreu um problema no servidor.']);exit; | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
<?php | ||
|
||
//requisitar arquivo de conexão | ||
require_once '../dao/ConexaoDAO.php'; | ||
|
||
class RegraPagamentoDAO{ | ||
private $pdo; | ||
|
||
public function __construct() | ||
{ | ||
$this->pdo = ConexaoDAO::conectar(); | ||
} | ||
|
||
/** | ||
* Retorna todas as regras de contribuição presentes no banco de dados da aplicação | ||
*/ | ||
public function buscaRegrasContribuicao(){ | ||
//definir consulta sql | ||
$sqlBuscaTodos = "SELECT * FROM contribuicao_regras"; | ||
//executar | ||
$resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); | ||
//retornar resultado | ||
return $resultado; | ||
} | ||
|
||
public function buscaConjuntoRegrasPagamento(){ | ||
//definir consulta sql | ||
$sqlBuscaTodos = "SELECT ccr.id, ccr.id_meioPagamento, ccr.id_regra, ccr.valor, ccr.status, cmp.meio, cr.regra, cgp.plataforma, cgp.endpoint | ||
FROM contribuicao_conjuntoRegras ccr | ||
JOIN contribuicao_meioPagamento cmp ON(cmp.id=ccr.id_meioPagamento) | ||
JOIN contribuicao_gatewayPagamento cgp ON(cgp.id = cmp.id_plataforma) | ||
JOIN contribuicao_regras cr ON(cr.id=ccr.id_regra)"; | ||
//executar | ||
$resultado = $this->pdo->query($sqlBuscaTodos)->fetchAll(PDO::FETCH_ASSOC); | ||
//retornar resultado | ||
return $resultado; | ||
} | ||
|
||
/** | ||
* Inseri um novo conjunto de regras no banco de dados da aplicação | ||
*/ | ||
public function cadastrar($meioPagamentoId, $regraContribuicaoId, $valor, $status){ | ||
/*Lógica da aplicação */ | ||
//definir consulta SQL | ||
$sqlCadastrar = "INSERT INTO contribuicao_conjuntoRegras (id_meioPagamento, id_regra, valor, status) | ||
VALUES (:meioPagamentoId, :regraContribuicaoId, :valor, :status)"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlCadastrar); | ||
$stmt->bindParam(':meioPagamentoId', $meioPagamentoId); | ||
$stmt->bindParam(':regraContribuicaoId', $regraContribuicaoId); | ||
$stmt->bindParam(':valor', $valor); | ||
$stmt->bindParam(':status', $status); | ||
//executar | ||
$stmt->execute(); | ||
} | ||
|
||
|
||
public function excluirPorId($id){ | ||
//definir consulta sql | ||
$sqlExcluirPorId = "DELETE FROM contribuicao_conjuntoRegras WHERE id=:id"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlExcluirPorId); | ||
$stmt->bindParam(':id', $id); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato excluído | ||
$conjuntoRegraPagamentoExcluido = $stmt->rowCount(); | ||
|
||
if($conjuntoRegraPagamentoExcluido < 1){ | ||
throw new Exception(); | ||
} | ||
} | ||
|
||
/** | ||
* Edita o meio de pagamento que possuí id equivalente no | ||
*/ | ||
public function editarPorId($id, $valor){ | ||
//definir consulta sql | ||
$sqlEditarPorId = "UPDATE contribuicao_conjuntoRegras SET valor =:valor WHERE id=:id"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlEditarPorId); | ||
$stmt->bindParam(':valor', $valor); | ||
$stmt->bindParam(':id', $id); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato alterado | ||
$meioPagamentoExcluido = $stmt->rowCount(); | ||
|
||
if($meioPagamentoExcluido < 1){ | ||
throw new Exception(); | ||
} | ||
} | ||
|
||
/** | ||
* Modifica o campo status da tabela contribuicao_conjuntoRegras de acordo com o id fornecido | ||
*/ | ||
public function alterarStatusPorId($status, $regraPagamentoId) | ||
{ | ||
//definir consulta sql | ||
$sqlAlterarStatusPorId = "UPDATE contribuicao_conjuntoRegras SET status =:status WHERE id=:regraPagamentoId"; | ||
//utilizar prepared statements | ||
$stmt = $this->pdo->prepare($sqlAlterarStatusPorId); | ||
$stmt->bindParam(':status', $status); | ||
$stmt->bindParam(':regraPagamentoId', $regraPagamentoId); | ||
//executar | ||
$stmt->execute(); | ||
|
||
//verificar se algum elemento foi de fato alterado | ||
$regraAlterada = $stmt->rowCount(); | ||
|
||
if ($regraAlterada < 1) { | ||
throw new Exception(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
<?php | ||
class RegraPagamento | ||
{ | ||
private $id; | ||
private $meioPagamentoId; | ||
private $regraContribuicaoId; | ||
private $valor; | ||
private $status; | ||
|
||
/** | ||
* Instancia um objeto do tipo RegraPagamentoDAO e chama o seu método de cadastrar passando os | ||
* valores de $meioPagamentoId, $regraContribuicaoId e $valor como parâmetros | ||
*/ | ||
public function cadastrar(){ | ||
require_once '../dao/RegraPagamentoDAO.php'; | ||
$gatewayPagamentoDao = new RegraPagamentoDAO(); | ||
$gatewayPagamentoDao->cadastrar($this->meioPagamentoId, $this->regraContribuicaoId, $this->valor, $this->status); | ||
} | ||
|
||
/** | ||
* Altera o valor de uma regra de pagamento no sistema | ||
*/ | ||
public function editar(){ | ||
require_once '../dao/RegraPagamentoDAO.php'; | ||
$meioPagamentoDao = new RegraPagamentoDAO(); | ||
$meioPagamentoDao->editarPorId($this->id, $this->valor); | ||
} | ||
|
||
|
||
/** | ||
* Get the value of valor | ||
*/ | ||
public function getValor() | ||
{ | ||
return $this->valor; | ||
} | ||
|
||
/** | ||
* Set the value of valor | ||
* | ||
* @return self | ||
*/ | ||
public function setValor($valor) | ||
{ | ||
$valor = floatval($valor); | ||
|
||
if(!$valor || $valor < 0){ | ||
throw new InvalidArgumentException(); | ||
} | ||
$this->valor = $valor; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* Get the value of regraContribuicaoId | ||
*/ | ||
public function getRegraContribuicaoId() | ||
{ | ||
return $this->regraContribuicaoId; | ||
} | ||
|
||
/** | ||
* Set the value of regraContribuicaoId | ||
* | ||
* @return self | ||
*/ | ||
public function setRegraContribuicaoId($regraContribuicaoId) | ||
{ | ||
$regraContribuicaoIdLimpo = trim($regraContribuicaoId); | ||
|
||
if(!$regraContribuicaoIdLimpo || $regraContribuicaoIdLimpo <1){ | ||
throw new InvalidArgumentException(); | ||
} | ||
$this->regraContribuicaoId = $regraContribuicaoIdLimpo; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* Get the value of meioPagamentoId | ||
*/ | ||
public function getMeioPagamentoId() | ||
{ | ||
return $this->meioPagamentoId; | ||
} | ||
|
||
/** | ||
* Set the value of meioPagamentoId | ||
* | ||
* @return self | ||
*/ | ||
public function setMeioPagamentoId($meioPagamentoId) | ||
{ | ||
$meioPagamentoIdLimpo = trim($meioPagamentoId); | ||
|
||
if(!$meioPagamentoIdLimpo || $meioPagamentoIdLimpo <1){ | ||
throw new InvalidArgumentException(); | ||
} | ||
$this->meioPagamentoId = $meioPagamentoIdLimpo; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* Get the value of id | ||
*/ | ||
public function getId() | ||
{ | ||
return $this->id; | ||
} | ||
|
||
/** | ||
* Set the value of id | ||
* | ||
* @return self | ||
*/ | ||
public function setId($id) | ||
{ | ||
if(!$id || $id < 1){ | ||
throw new InvalidArgumentException(); | ||
} | ||
|
||
$this->id = $id; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* Get the value of status | ||
*/ | ||
public function getStatus() | ||
{ | ||
return $this->status; | ||
} | ||
|
||
/** | ||
* Set the value of status | ||
* | ||
* @return self | ||
*/ | ||
public function setStatus($status) | ||
{ | ||
$statusLimpo = trim($status); | ||
|
||
if((!$statusLimpo || empty($statusLimpo)) && $statusLimpo != 0){ | ||
throw new InvalidArgumentException('O status de um meio de pagamento não pode ser vazio.'); | ||
} | ||
|
||
$this->status = $status; | ||
|
||
return $this; | ||
} | ||
} |
Oops, something went wrong.