Skip to content

Commit

Permalink
Merge pull request #735 from nilsonLazarin/equipeLaje-240923
Browse files Browse the repository at this point in the history
Alterações da semana 23/09/2024 na refatoração do módulo de contribuição.
  • Loading branch information
nilsonLazarin authored Sep 27, 2024
2 parents 0af2c1a + f28f891 commit 90d3da4
Show file tree
Hide file tree
Showing 30 changed files with 2,912 additions and 0 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
}
}
}
115 changes: 115 additions & 0 deletions html/apoio/controller/GatewayPagamentoController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
<?php

require_once '../model/GatewayPagamento.php';
require_once '../dao/GatewayPagamentoDAO.php';

class GatewayPagamentoController
{
/**Realiza os procedimentos necessários para inserir um Gateway de pagamento na aplicação */
public function cadastrar()
{
$nome = $_POST['nome'];
$endpoint = $_POST['endpoint'];
$token = $_POST['token'];

try {
$gatewayPagamento = new GatewayPagamento($nome, $endpoint, $token);
$gatewayPagamento->cadastrar();
header("Location: ../view/gateway_pagamento.php?msg=cadastrar-sucesso");
} catch (Exception $e) {
header("Location: ../view/gateway_pagamento.php?msg=cadastrar-falha");
}
}

/**
* Realiza os procedimentos necessários para buscar os gateways de pagamento da aplicação
*/
public function buscaTodos()
{
try {
$gatewayPagamentoDao = new GatewayPagamentoDAO();
$gateways = $gatewayPagamentoDao->buscaTodos();
return $gateways;
} catch (PDOException $e) {
echo 'Erro na busca de gateways de pagamento: ' . $e->getMessage();
}
}

/**
* Realiza os procedimentos necessários para remover um gateway de pagamento do sistema.
*/
public function excluirPorId()
{
$gatewayId = trim($_POST['gateway-id']);

if (!$gatewayId || empty($gatewayId) || $gatewayId < 1) {
//parar operação
header("Location: ../view/gateway_pagamento.php?msg=excluir-falha#mensagem-tabela");
exit();
}

try {
$gatewayPagamentoDao = new GatewayPagamentoDAO();
$gatewayPagamentoDao->excluirPorId($gatewayId);
header("Location: ../view/gateway_pagamento.php?msg=excluir-sucesso#mensagem-tabela");
} catch (Exception $e) {
header("Location: ../view/gateway_pagamento.php?msg=excluir-falha#mensagem-tabela");
}
//echo 'O id do gateway que será excluído é: '.$gatewayId;
}

/**
* Realiza os procedimentos necessários para alterar as informações de um gateway de pagamento do sistema
*/
public function editarPorId()
{
$gatewayId = $_POST['id'];
$gatewayNome = $_POST['nome'];
$gatewayEndepoint = $_POST['endpoint'];
$gatewayToken = $_POST['token'];

try {
$gatewayPagamento = new GatewayPagamento($gatewayNome, $gatewayEndepoint, $gatewayToken);
$gatewayPagamento->setId($gatewayId);
$gatewayPagamento->editar();
header("Location: ../view/gateway_pagamento.php?msg=editar-sucesso#mensagem-tabela");
} catch (Exception $e) {
header("Location: ../view/gateway_pagamento.php?msg=editar-falha#mensagem-tabela");
}
//echo 'Editando gateway de id: '.$gatewayId;
}

/**
* Realiza os procedimentos necessários para ativar/desativar um gateway de pagamento no sistema
*/
public function alterarStatus()
{
$gatewayId = $_POST['id'];
$status = trim($_POST['status']);

if (!$gatewayId || empty($gatewayId)) {
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 {
$gatewayPagamentoDao = new GatewayPagamentoDAO();
$gatewayPagamentoDao->alterarStatusPorId($status, $gatewayId);
echo json_encode(['Sucesso']);
} catch (Exception $e) {
http_response_code(500);
echo json_encode(['Erro'=>'Ocorreu um problema no servidor.']);exit;
}
}
}
105 changes: 105 additions & 0 deletions html/apoio/controller/MeioPagamentoController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?php

require_once '../model/MeioPagamento.php';
require_once '../dao/MeioPagamentoDAO.php';

class MeioPagamentoController{
public function cadastrar(){
//Implementar restante da lógica do código...
$descricao = $_POST['nome'];
$gatewayId = $_POST['meio-pagamento-plataforma'];
try{
$meioPagamento = new MeioPagamento($descricao, $gatewayId);
$meioPagamento->cadastrar();
header("Location: ../view/meio_pagamento.php?msg=cadastrar-sucesso");
}catch(Exception $e){
header("Location: ../view/meio_pagamento.php?msg=cadastrar-falha");
}
}

/**
* Busca os meios de pagamentos registrados no banco de dados da aplicação
*/
public function buscaTodos(){
try{
$meioPagamentoDao = new MeioPagamentoDAO();
$meiosPagamento = $meioPagamentoDao->buscaTodos();
return $meiosPagamento;
}catch(PDOException $e){
echo 'Erro na busca de meios de pagamento: '.$e->getMessage();
}
}

/**
* Realiza os procedimentos necessários para remover um meio de pagamento do sistema.
*/
public function excluirPorId(){
$meioPagamentoId = trim($_POST['meio-pagamento-id']);

if (!$meioPagamentoId || empty($meioPagamentoId) || $meioPagamentoId < 1) {
//parar operação
header("Location: ../view/meio_pagamento.php?msg=excluir-falha#mensagem-tabela");
exit();
}

try{
$meioPagamentoDao = new MeioPagamentoDAO();
$meioPagamentoDao->excluirPorId($meioPagamentoId);
header("Location: ../view/meio_pagamento.php?msg=excluir-sucesso#mensagem-tabela");
}catch(Exception $e){
header("Location: ../view/meio_pagamento.php?msg=excluir-falha#mensagem-tabela");
}
}

/**
* Realiza os procedimentos necessários para alterar as informações de um meio de pagamento do sistema
*/
public function editarPorId(){
$descricao = $_POST['nome'];
$gatewayId = $_POST['plataforma'];
$meioPagamentoId = $_POST['id'];

try{
$meioPagamento = new MeioPagamento($descricao, $gatewayId);
$meioPagamento->setId($meioPagamentoId);
$meioPagamento->editar();
header("Location: ../view/meio_pagamento.php?msg=editar-sucesso#mensagem-tabela");
}catch(Exception $e){
header("Location: ../view/meio_pagamento.php?msg=editar-falha#mensagem-tabela");
}
}

/**
* Realiza os procedimentos necessários para ativar/desativar um meio de pagamento no sistema
*/
public function alterarStatus()
{
$meioPagamentoId = $_POST['id'];
$status = trim($_POST['status']);

if (!$meioPagamentoId || empty($meioPagamentoId)) {
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 {
$meioPagamentoDao = new MeioPagamentoDAO();
$meioPagamentoDao->alterarStatusPorId($status, $meioPagamentoId);
echo json_encode(['Sucesso']);
} catch (Exception $e) {
http_response_code(500);
echo json_encode(['Erro'=>'Ocorreu um problema no servidor.']);exit;
}
}
}
Loading

0 comments on commit 90d3da4

Please sign in to comment.