fix: ajustar calculos do dashboard para faturamento usar apenas status RECEIVED
Build and Deploy (Gitea) / build-and-deploy (push) Successful in 59s Details

This commit is contained in:
Sidney Gomes 2026-07-24 23:45:17 -03:00
parent 98c0228a25
commit cbb0e8b6e7
1 changed files with 5 additions and 4 deletions

View File

@ -1086,7 +1086,7 @@ app.get('/api/admin/dashboard', authenticateToken, requireAdmin, async (req: Aut
// Total Revenue Calculation // Total Revenue Calculation
const totalRevenue = allPayments const totalRevenue = allPayments
.filter(p => p.status === 'CONFIRMED' || p.status === 'RECEIVED') .filter(p => p.status === 'RECEIVED')
.reduce((sum, p) => sum + Number(p.value), 0); .reduce((sum, p) => sum + Number(p.value), 0);
// Generate Revenue Data for Charts (Last 30 Days) // Generate Revenue Data for Charts (Last 30 Days)
@ -1094,7 +1094,7 @@ app.get('/api/admin/dashboard', authenticateToken, requireAdmin, async (req: Aut
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30); thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);
const recentConfirmedPayments = allPayments.filter( const recentConfirmedPayments = allPayments.filter(
p => (p.status === 'CONFIRMED' || p.status === 'RECEIVED') && p.createdAt >= thirtyDaysAgo p => p.status === 'RECEIVED' && p.createdAt >= thirtyDaysAgo
); );
const revenueByDay: Record<string, number> = {}; const revenueByDay: Record<string, number> = {};
@ -1199,7 +1199,7 @@ app.get('/api/admin/students', authenticateToken, requireAdmin, async (req: Auth
whatsapp: u.whatsapp, whatsapp: u.whatsapp,
trialEndsAt: u.trialEndsAt, trialEndsAt: u.trialEndsAt,
totalPaid: u.payments totalPaid: u.payments
.filter(p => p.status === 'CONFIRMED' || p.status === 'RECEIVED') .filter(p => p.status === 'RECEIVED')
.reduce((acc, curr) => acc + Number(curr.value), 0), .reduce((acc, curr) => acc + Number(curr.value), 0),
unlockedCourses: u.unlockedCourses || [], unlockedCourses: u.unlockedCourses || [],
moduleGrades: u.moduleGrades, moduleGrades: u.moduleGrades,
@ -1748,7 +1748,8 @@ app.post('/api/webhooks/asaas', async (req: Request, res: Response) => {
const isOverdue = event === 'PAYMENT_OVERDUE'; const isOverdue = event === 'PAYMENT_OVERDUE';
const isRefunded = event === 'PAYMENT_REFUNDED' || event === 'PAYMENT_DELETED'; const isRefunded = event === 'PAYMENT_REFUNDED' || event === 'PAYMENT_DELETED';
const newStatus = isPaid ? 'CONFIRMED' : const newStatus = event === 'PAYMENT_RECEIVED' ? 'RECEIVED' :
event === 'PAYMENT_CONFIRMED' ? 'CONFIRMED' :
isOverdue ? 'OVERDUE' : isOverdue ? 'OVERDUE' :
isRefunded ? 'REFUNDED' : isRefunded ? 'REFUNDED' :
event === 'PAYMENT_RESTORED' ? 'PENDING' : null; event === 'PAYMENT_RESTORED' ? 'PENDING' : null;