基于多个徽章分配分配了徽章

对于自定义触发器,我认为您应该能够窃取Campaigner查询并对其进行调整,使其适用于徽章而不是邀请。

这个是用于拥有5个“徽章108”,并且设置为每日更新。

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

我在我的测试站点上对其进行了简短测试,似乎运行正常(我触发了Badge Grant sidekiq作业来加快等待时间)。但希望这至少能为您提供一个起点。:slightly_smiling_face:

如果您还没有找到,这里还有一些不同的示例可供您参考:Some common badge queries :+1:

3 个赞