mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-03 18:22:57 +00:00
dev day #80
This commit is contained in:
@@ -139,6 +139,16 @@ func (ec *EmailController) ClickRedirect(c *gin.Context) {
|
||||
"subject": log.Subject,
|
||||
"url": target,
|
||||
})
|
||||
// Engagement: award for newsletter clicks only
|
||||
if strings.ToLower(strings.TrimSpace(log.Type)) == "newsletter" {
|
||||
var u models.User
|
||||
if err := ec.DB.Where("LOWER(email) = LOWER(?)", strings.TrimSpace(log.RecipientEmail)).First(&u).Error; err == nil && u.ID != 0 {
|
||||
svc := services.NewEngagementService(ec.DB)
|
||||
// Cap enforced in service (newsletter_click: max 3/day)
|
||||
_, _ = svc.AwardPointsCapped(u.ID, 3, "newsletter_click", map[string]interface{}{"url": target, "email_log_id": log.ID})
|
||||
_ = svc.CheckAndAwardAchievements(u.ID)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user