Abzeichen basierend auf mehrfacher Abzeichenvergabe zugewiesen

Für eine benutzerdefinierte Auslösung sollten Sie meiner Meinung nach die Kampagnenabfrage kopieren und anpassen können, damit sie für Abzeichen anstelle von Einladungen funktioniert.

Diese hier ist für 5 ‘Abzeichen 108’ und würde täglich aktualisiert werden.

SELECT u.id user_id, current_timestamp granted_at
FROM users u
WHERE u.id IN (
    SELECT ub.user_id
    FROM user_badges ub
    WHERE ub.badge_id = 108
    GROUP BY ub.user_id
    HAVING COUNT(*) >= 4
) AND u.active AND u.silenced_till IS NULL AND u.id > 0 AND
    (:backfill OR u.id IN (:user_ids) )

Ich habe es kurz auf meiner Testseite getestet und es scheint gut zu funktionieren (ich löse den Badge Grant Sidekiq-Job aus, um die Wartezeit zu verkürzen). Aber hoffentlich gibt Ihnen das zumindest einen Ausgangspunkt zum Aufbau. :slightly_smiling_face:

Es gibt auch ein paar verschiedene Beispiele hier, die Sie als Inspiration verwenden können, falls Sie sie noch nicht gefunden haben: Some common badge queries :+1:

3 „Gefällt mir“