我正在开发一个ruby的应用程序,用于公司购买广告活动。首先,他们在我的网站上为他们的帐户购买积分,然后他们购买带有积分的广告系列。事情就是每次观看/点击支付广告系列。公司为每个广告系列预留信用额度,这些预留信用额度不能用于购买其他广告系列。当广告系列结束并且并非所有信用都被使用时,它们将被取消保留并可用于购买更多广告系列。
我的问题是:
如何最好地构建数据库中的模型以及如何移动/保留/取消预留学分。这让我头疼了几天。
编辑:
正如我在下面给出的答案评论时,我的首要目标是定期检查在后台流程中应该取消保留的任何信用。
答案 0 :(得分:1)
你如何量化“最佳”?
我的第一个想法是建立客户/竞选关系。每个客户都有一些学分。每个客户活动都可以从客户“提取”信用。当观看/点击广告系列(咯咯?)时,它会从客户广告系列中提取信用。
清扫工(或任何流程)会定期检查已失效的广告系列。当它找到一个时,任何剩余的信用额“存入”回客户的主账户。
答案 1 :(得分:0)
我提出的一个我尚未尝试过的解决方案是:
所有资金都存放在公司的账户中。然后,目标是动态计算预留的资金数量和未预留的资金数量。如果每个广告系列都具有“保留金额”属性和“已用金额”属性,则可以执行此操作。当用户点击广告系列时,我会从公司帐户中提取资金并将其添加到广告系列“已使用”帐户中。
这应该有效,但是如果这是一个很好的解决方案,任何评论都是受欢迎的。