Demande : Badge SQL personnalisé pour le nombre total de J'aime

Bonjour !

Il y a un badge par défaut fourni avec le logiciel que j’aime beaucoup, mais j’aimerais qu’il soit légèrement modifié.

L’original :

Ce badge est accordé lorsque vous avez 100 publications aimées et que vous donnez 100 likes ou plus en retour. Merci de faire passer le message !

Souhaité :

Ce badge est accordé lorsque vous avez reçu 100 likes et donné 100 likes ou plus en retour.

La partie “donner” doit rester identique. Mais pour ignorer complètement le nombre de publications dans la gamification du forum, je veux que les utilisateurs qui ont reçu 100 likes sur 1 publication soient qualifiés pour ce badge, tout comme les utilisateurs qui ont reçu un like sur 100 publications différentes.

J’ai suivi ceci jusqu’à présent : Enable Badge SQL

  • J’ai activé SiteSetting.enable_badge_sql = true, j’ai poussé le nouveau SQL de badge via l’interface graphique, puis j’ai désactivé les requêtes SQL personnalisées pour des raisons de sécurité avec SiteSetting.enable_badge_sql = false. Le badge personnalisé fonctionne très bien, mais je ne prends pas de risques barbares sans qualifications en base de données/SQL.

Pour l’instant, le forum est petit et il n’y a pas de problèmes apparents, mais je pourrais rencontrer des problèmes de performance à mesure que le forum grandit. Si vous avez le temps, veuillez fournir votre requête SQL pour ce badge personnalisé.

Merci et cordialement !

Bonjour et bienvenue @rapphann :slight_smile:

Je ne suis pas non plus un expert en SQL :slight_smile: Mais je pense que ce serait quelque chose comme ceci :

SELECT us.user_id, current_timestamp AS granted_at 
FROM user_stats AS us 
WHERE us.likes_received >= 100 
AND us.likes_given >= 100
AND (:backfill OR us.user_id IN (:user_ids))
4 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.