This commit is contained in:
Lizandro Guarnizo
2026-05-15 23:22:35 -05:00
parent c91383882c
commit 49cc56123b
12 changed files with 1371 additions and 4 deletions
+22
View File
@@ -176,3 +176,25 @@ func SendTicketRespuestaAdmin(adminEmail, proyectoNombre, autorNombre, titulo, r
}
}()
}
// SendFacturaSubidaPortalUser notifica a un portal user que tiene una nueva factura disponible.
func SendFacturaSubidaPortalUser(toEmail, userName, clienteNombre, numero string, monto float64, moneda, portalURL string) {
go func() {
subject := fmt.Sprintf("Nueva factura disponible: %s", numero)
htmlBody := fmt.Sprintf(`
<div style="font-family:sans-serif;max-width:520px;margin:0 auto;padding:24px">
<h2 style="color:#8eb02f">🧾 Nueva factura disponible</h2>
<p>Hola <strong>%s</strong>,</p>
<p>Tienes una nueva factura disponible para descargar:</p>
<table style="width:100%%;border-collapse:collapse;margin:16px 0">
<tr><td style="padding:8px;border:1px solid #e2e8f0;background:#f8fafc;font-weight:bold">Número</td><td style="padding:8px;border:1px solid #e2e8f0">%s</td></tr>
<tr><td style="padding:8px;border:1px solid #e2e8f0;background:#f8fafc;font-weight:bold">Monto</td><td style="padding:8px;border:1px solid #e2e8f0">%s %.2f</td></tr>
</table>
<a href="%s" style="display:inline-block;background:#8eb02f;color:white;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:bold">Ver en el portal</a>
<p style="margin-top:24px;color:#94a3b8;font-size:12px">Este es un mensaje automático.</p>
</div>`, userName, numero, moneda, monto, portalURL)
if err := app.Http.Mail.Send(toEmail, subject, htmlBody, ""); err != nil {
log.Printf("[Notif] Error enviando factura_subida a %s: %v", toEmail, err)
}
}()
}