Skip to content

3.5.0

Choose a tag to compare

@nilsonLazarin nilsonLazarin released this 26 Sep 12:13
· 1046 commits to master since this release

What's Changed

  • Alteração no armazenamento de recorrências, correção de vulnerabilidades e aplicação das recomendações do MN análise deepseek-coder-v2:16b by @GabrielPintoSouza in #1170

Nova funcionalidade

  • Busca no gateway de pagamento as cobranças de cartão de crédito geradas por recorrência.

Full Changelog: 3.4.12...3.5.0

Alterações no banco de dados

Tabelas Novas

CREATE TABLE IF NOT EXISTS wegia.recorrencia (
id INT NOT NULL AUTO_INCREMENT,
id_socio INT(11) NOT NULL,
id_gateway INT(11) NOT NULL,
codigo VARCHAR(255) NOT NULL UNIQUE,
valor DECIMAL(10,2) NOT NULL,
data_inicio DATE NOT NULL,
data_termino DATE,
status BOOLEAN DEFAULT TRUE,
PRIMARY KEY (id),
CONSTRAINT FK_recorrencia_socios
FOREIGN KEY (id_socio)
REFERENCES wegia.socio (id_socio),
CONSTRAINT FK_recorrencia_gateways
FOREIGN KEY (id_gateway)
REFERENCES wegia.contribuicao_gatewayPagamento (id)
)
ENGINE = InnoDB;

Alteração em tabelas existentes

ALTER TABLE wegia.contribuicao_log
    ADD COLUMN id_recorrencia INT(11) DEFAULT NULL AFTER id_meio_pagamento;

ALTER TABLE wegia.contribuicao_log
    ADD CONSTRAINT FK_id_recorrencia
    FOREIGN KEY (id_recorrencia)
    REFERENCES wegia.recorrencia (id);

Observação: Na tabela de contribuicao_log, as contribuições cujo código comecem com sub devem ser transferidas para a tabela de recorrencia.

START TRANSACTION;

-- 1) Inserir os dados em recorrencia
INSERT INTO wegia.recorrencia (
    id_socio,
    id_gateway,
    codigo,
    valor,
    data_inicio,
    data_termino,
    status
)
SELECT 
    cl.id_socio,
    cl.id_gateway,
    cl.codigo,
    cl.valor,
    cl.data_geracao AS data_inicio,
    NULL AS data_termino,
    TRUE AS status
FROM wegia.contribuicao_log cl
WHERE cl.codigo LIKE 'sub_%'
ON DUPLICATE KEY UPDATE 
    valor = VALUES(valor),
    data_inicio = LEAST(recorrencia.data_inicio, VALUES(data_inicio)),
    status = VALUES(status);

-- 2) Remover os registros já migrados
DELETE FROM wegia.contribuicao_log
WHERE codigo LIKE 'sub_%';

COMMIT;