我正在使用现在典型的“推荐”系统编写一个新的 {monthly|yearly} 付费网站:当新用户注册时,他们可以指定其他用户的 {username|referral code}(如果他们可以自动检测到来自一个特殊的 URL),这将导致推荐人赚取新用户支付的任何费用的一定百分比。
在重新发明轮子之前,我想知道你们中是否有人有将此类数据存储在关系数据库中的经验。目前我正在使用 MySQL,但我相信任何好的解决方案都应该很容易适应任何 RDBMS,对吧?
我希望支持以下功能:
在线计费系统- 一旦支付了每张发票,就会计算推荐人的收入,他们将能够兑现。这当然包括在线浏览发票/付款的可能性。
付费选项各不相同- 它们的性质和成本不同(有时会有所不同),因此应根据每张最终发票计算佣金。
跟踪推荐(用户之间的关系、被推荐的日期以及任何其他有用的信息 - 有什么想法吗?)
访问历史推荐数据(已支付多少)或应计佣金的简单方法。
将来,我可能会提议用累积的现金来换取订阅续订(包括全部或部分新订阅,如果需要,必须支付差额)
多个级别- 我正在考虑支付大约 10% 的直接推荐收入 + 2% 的下一个级别,但这可能会在未来发生变化(添加更多级别,更改百分比),所以我应该能够存储历史数据。
请注意,我不打算在任何其他项目中使用它,所以我不担心它是“即插即用”的。
你做过类似要求的工作吗?如果是这样,你是如何处理所有这些事情的?你会推荐任何特定的数据库模式吗?为什么?
我有什么遗漏可以帮助实现更灵活的实现吗?