Distintivi per X numero di soluzioni create?

Ciao, mi stavo chiedendo se ci fosse un modello o una query standard per assegnare badge per un certo numero di soluzioni? Ad esempio, rispondo a circa 10 post/domande e tutti vengono contrassegnati come soluzioni. Ricevo un badge per questo e ogni badge corrispondente per 20, 30, 40 soluzioni contrassegnate, ecc.

Ho provato a cercare le query standard ma non mi sembrava ci fossero. Vedo che ci sono alcune query personalizzate scritte qui.

Grazie,

Ci sono un paio che vengono forniti con il plugin che puoi abilitare dalla pagina /admin/badges (HelpDesk e TechSupport). Ma queste sono le query se vuoi adattarle:

SELECT p.user_id, p.id post_id, p.updated_at granted_at
FROM badge_posts p
WHERE p.post_number > 1 AND
    p.id IN (
      SELECT post_id FROM (
       SELECT pc.post_id, row_number()
       OVER (PARTITION BY p1.user_id ORDER BY pc.created_at) as rnum
       FROM post_custom_fields pc
       JOIN badge_posts p1 ON p1.id = pc.post_id
       JOIN topics t1 ON p1.topic_id = t1.id
       WHERE name = 'is_accepted_answer' AND
                    p1.user_id <> t1.user_id AND
        (
          :backfill OR
           p1.user_id IN (
                   select user_id from posts where p1.id IN (:post_ids)
           )
       )
) X  WHERE rnum = 1)

SELECT id user_id, current_timestamp granted_at
FROM users
WHERE id IN (
       SELECT p1.user_id
       FROM post_custom_fields pc
       JOIN badge_posts p1 ON p1.id = pc.post_id
       JOIN topics t1 ON p1.topic_id = t1.id
       WHERE p1.user_id <> t1.user_id AND
                    name = 'is_accepted_answer' AND
            p1.user_id IN (
                   SELECT user_id
                   FROM posts
                   WHERE :backfill OR  p1.id IN (:post_ids)
            )
        GROUP BY p1.user_id
        HAVING COUNT(*) > 9
)
2 Mi Piace

Grazie @JammyDodger,

Potrei aver bisogno di un po’ più di assistenza. Ci sono alcuni documenti che hai che identificano alcuni dei selettori/campi per una soluzione?

Screen Shot 2022-06-06 at 11.05.29 AM

Nessun problema. :slightly_smiling_face: Il data explorer è ottimo per provare le query prima di aggiungerle come custom SQL badges (anche se quelle del data explorer non necessitano della parte backfill).

Anche se penso che la seconda query sopra contenga tutte le informazioni di cui hai bisogno. Le soluzioni sono conservate nella tabella post_cutom_field come is_accepted_answer nella colonna name. E quella seconda query concede il badge TechSupport per 10 soluzioni (HAVING COUNT(*) > 9), quindi per quelle che vuoi dall’OP devi solo copiare quella query e cambiare il numero in basso in 19, 29, 39 e così via.

1 Mi Piace