0

在我当前的 Web 应用程序中,我必须创建一个类似于 SO 的“信誉点和徽章引擎”。该系统包含许多规则,每个规则都与一些预定义的用户活动相关联(如查看问题、投票问题等)。

我试图找出解决方案:

  1. 将所有规则存储在数据库表中(几乎每个规则都包含多个条件)。我们可以这样做吗?
  2. 将每个用户操作与保存在数据库表中的规则相匹配,并分配相关的信誉点和徽章。
    • 检查用户是否已经获得了规则中定义的阈值的奖励(例如,不是投票、视图)。
    • 执行某些操作,例如在少数规则中定义的提升用户、通知用户、禁止用户。
  3. 为应用程序管理员提供 UI 以管理(添加新/编辑/删除)应用程序中的规则。

任何提示将不胜感激?

4

1 回答 1

1

数据库似乎不是满足此要求的合适工具。似乎您需要在应用层实现这样的逻辑。当然,某些参数值可以来自配置文件。

如果这是您真正想要做的事情,一种方法是在列中定义变量(例如视图、投票)。您分配的徽章或声誉点的输出也可以是列,但其他列的功能。所以表格看起来像:
badgeId_ _ badgeName _ views __ votes
1
_ ____ silver _ ____ 10 _ ___ 2
2
_ ____ gold _ _ _ 100 _ __ _10

于 2012-01-02T06:58:46.137 回答