Distintivos para X Número de Soluções Criadas?

Olá, eu estava me perguntando se havia algum modelo ou consulta padrão para conceder emblemas por uma certa quantidade de soluções? Por exemplo, eu respondo a cerca de 10 posts/perguntas e todos eles são marcados como soluções. Eu recebo um emblema por isso e cada emblema correspondente para 20, 30, 40 soluções marcadas, etc.

Tentei procurar as consultas padrão, mas não pareciam estar lá. Vejo que existem algumas consultas personalizadas escritas aqui.

Obrigado,

Existem alguns que vêm com o plugin que você pode habilitar na página /admin/badges (HelpDesk e TechSupport). Mas aqui estão as consultas se você quiser adaptá-las:

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 curtidas

Obrigado @JammyDodger,

Talvez eu precise de um pouco mais de assistência. Você tem alguma documentação que identifique alguns dos seletores/campos para uma solução?

Screen Shot 2022-06-06 at 11.05.29 AM

Sem problemas. :slightly_smiling_face: O data explorer é realmente bom para experimentar consultas antes de adicioná-las como custom SQL badges (embora as do data explorer não precisem da parte backfill).

Embora eu ache que a segunda consulta acima tem todas as informações de que você precisa. As soluções são mantidas na tabela post_cutom_field como is_accepted_answer na coluna name. E essa segunda consulta concede o badge TechSupport para 10 soluções (HAVING COUNT(*) > 9), então para as que você quer do OP, você só precisa copiar essa consulta e mudar o número inferior para 19, 29, 39 e assim por diante.

1 curtida