gpt4 book ai didi

database-design - 如何在我的网站上设计奖励系统

转载 作者:行者123 更新时间:2023-12-04 02:50:31 25 4
gpt4 key购买 nike

我想尝试在我正在构建的新网站上设计奖励系统。例如(仅用于说明目的):

enter image description here
enter image description here
enter image description here

堆栈溢出的 medals system是另一个例子。

我的问题是,您可以轻松地将每个徽章的描述和名称存储在数据库表中。

**tbl_Badges**
ID | Badge Name | canHaveMultiple | hasProgress | progressScale
----------------------------------------------------------------------------
1 Copy Editor Yes No null
2 The Mob Yes No null
3 Jquery No Yes 100

然后将用户与这些徽章相关联:
**tbl_UsersBadges**
ID | Badge ID | User ID
---------------------------
1 1 5
2 1 5
3 2 5
4 2 12

(也许另一个通过比例徽章等来存储用户进度)

但是困难在于对授予这些徽章的触发器进行编程。

像这样的系统是用网站中的硬编码触发器构建的吗?由于这些徽章的广泛性和灵活性,这是我能想到的唯一方法。但是,如果触发器被硬编码为徽章 ID,则在更改任何内容时都必须非常小心。

那么这样的系统是如何工作的呢?这与我所学到的背道而驰。还是我错误地解决了这个问题?

最佳答案

首先,您需要确保您有一个明确的“奖励”用户操作列表。然后,您必须创建一些代码,当这些操作之一发生时,这些代码将被触发。查看解决方案的方法有多种:

  • 将可能导致奖励的每个 Action 保存在数据库中。然后,数据库中的实际触发器将根据这些操作属性授予徽章,或者 crontab 作业可能会完成这项工作。好处是如果你改变你的奖励系统计算,你可以重播用户的 Action 来取回新的奖励;
  • 编写一些在调用任何其他方法之前自动调用的集线器方法。根据 Action ,您可以授予奖励,然后重定向到真正的方法;
  • 使用您提到的硬编码操作,但这既乏味又容易出错;
  • 关于database-design - 如何在我的网站上设计奖励系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5077357/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com