3.5.0
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;