여러 배지 할당 기준으로 배지 지정됨

사용자가 직접 트리거하는 배지의 경우, 캠페이너(Campaigner) 쿼리를 가져와서 초대장이 아닌 배지에 맞게 수정할 수 있을 것 같습니다.

아래 쿼리는 'Badge 108’을 5개 보유한 사용자를 대상으로 하며, 매일 업데이트되도록 설정됩니다.

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) )

테스트 사이트에서 간단히 테스트해 보았으며, 잘 작동하는 것 같습니다(기다림 시간을 단축하기 위해 배지 부여 Sidekiq 작업을 트리거했습니다). 하지만 적어도 이것을 바탕으로 개발을 시작할 수 있는 출발점이 되길 바랍니다. :slightly_smiling_face:

아직 찾지 못하셨다면 영감을 얻을 수 있는 몇 가지 다른 예제도 여기에 있으니 참고해 주세요. Some common badge queries :+1: