Fix: synchronize server.js portal logic with server.selfhosted.js to include db.amount_original and db.discount in double discount recovery
This commit is contained in:
parent
e7ded2df80
commit
8d29449666
|
|
@ -0,0 +1,27 @@
|
|||
const db = {
|
||||
amount_original: '150.00',
|
||||
valor: '150.00',
|
||||
discount: '20.00'
|
||||
};
|
||||
|
||||
const jsonP = {
|
||||
amount: 150, // Assuming webhook corrupted it
|
||||
discount: 20
|
||||
};
|
||||
|
||||
let amountOriginal = Number(db.amount_original) || Number(jsonP.amount) || Number(db.valor) || 0;
|
||||
const discount = Number(db.discount) || (jsonP.amount ? Number(jsonP.discount || 0) : 0);
|
||||
|
||||
console.log('amountOriginal before:', amountOriginal);
|
||||
console.log('discount:', discount);
|
||||
console.log('db.valor:', Number(db.valor));
|
||||
|
||||
if (amountOriginal === Number(db.valor) && discount > 0) {
|
||||
amountOriginal += discount;
|
||||
console.log('BUGFIX APPLIED! New amountOriginal:', amountOriginal);
|
||||
} else {
|
||||
console.log('BUGFIX NOT APPLIED. Conditions:', {
|
||||
isEqual: amountOriginal === Number(db.valor),
|
||||
hasDiscount: discount > 0
|
||||
});
|
||||
}
|
||||
|
|
@ -275,8 +275,8 @@ app.get('/api/portal/financeiro', authMiddleware, async (req, res) => {
|
|||
}
|
||||
}
|
||||
|
||||
let amountOriginal = Number(jsonP.amount) || Number(db.valor) || 0;
|
||||
const discount = jsonP.amount ? Number(jsonP.discount || 0) : 0;
|
||||
let amountOriginal = Number(db.amount_original) || Number(jsonP.amount) || Number(db.valor) || 0;
|
||||
const discount = Number(db.discount) || (jsonP.amount ? Number(jsonP.discount || 0) : 0);
|
||||
|
||||
// [Bugfix]: Recupera o valor bruto corrompido pelo webhook antigo
|
||||
if (amountOriginal === Number(db.valor) && discount > 0) {
|
||||
|
|
|
|||
|
|
@ -286,7 +286,11 @@ app.get('/api/portal/financeiro', authMiddleware, async (req, res) => {
|
|||
// significa que o webhook antigo sobrescreveu o valor bruto pelo líquido no JSON.
|
||||
// Neste caso, o valor bruto real é o líquido + desconto.
|
||||
if (amountOriginal === Number(db.valor) && discount > 0) {
|
||||
console.log(`[BUGFIX] Recovering amount for ${asaasId}: amountOriginal=${amountOriginal}, db.valor=${db.valor}, discount=${discount}. New amount: ${amountOriginal + discount}`);
|
||||
amountOriginal += discount;
|
||||
} else if (asaasId === 'pay_iipssljwa9df3fsq' || asaasId === 'pay_krkf6cinlekjvw3l') {
|
||||
// Log para debug se a condição falhar para os pagamentos conhecidos
|
||||
console.log(`[DEBUG_FAIL] Bugfix failed for ${asaasId}: amountOriginal=${amountOriginal}, db.valor=${db.valor}, discount=${discount}`);
|
||||
}
|
||||
|
||||
finalPayments.push({
|
||||
|
|
|
|||
Loading…
Reference in New Issue