Solicitud: SQL de insignia personalizada para el recuento total de 'Me gusta'

Hola!

Hay una insignia predeterminada que viene con el software y me gusta bastante, pero me gustaría que se modificara un poco.

La original:

Esta insignia se otorga cuando tienes 100 publicaciones con “me gusta” y das 100 o más “me gusta” a cambio. ¡Gracias por devolver el favor!

Deseada:

Esta insignia se otorga cuando has recibido 100 “me gusta” y has dado 100 o más “me gusta” a cambio.

La “parte de dar” debe permanecer idéntica. Pero para ignorar por completo el recuento de publicaciones en la gamificación del foro, quiero que los usuarios que han recibido 100 “me gusta” en 1 publicación califiquen para esa insignia igual que los usuarios que han recibido un solo “me gusta” en 100 publicaciones diferentes.

Hasta ahora, he seguido esto: Enable Badge SQL

  • Habilitado SiteSetting.enable_badge_sql = true, insertado la nueva SQL de la insignia a través de la GUI y luego deshabilitado las consultas SQL personalizadas por razones de seguridad con SiteSetting.enable_badge_sql = false. La insignia personalizada funciona bien, pero no asumo riesgos bárbaros sin cualificaciones de base de datos/SQL.

Por ahora, el foro es pequeño y no hay problemas aparentes, pero podría tener problemas de rendimiento a medida que el foro crezca. Si tienes tiempo, por favor, proporciona tu consulta SQL para esa insignia personalizada.

¡Gracias y saludos!

Hola y bienvenido @rapphann :slight_smile:

Me temo que yo tampoco soy un maestro de SQL :slight_smile: Pero creo que sería algo así:

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 Me gusta

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