Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alterações da semana 23/09/2024 na refatoração do módulo de contribuição. #735

Merged
merged 11 commits into from
Sep 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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