我有用户模型,我想创建他们与硬币平衡 用户可以为帖子模型花钱 硬币必须 belongs_to:user
发布alredy belongs_to:user 我希望一些用户创建有价格的帖子,不同的用户可以用硬币购买。怎么样?谢谢
答案 0 :(得分:0)
这个问题很通用,但这可以给你一个开始。
对于单一货币,您可以从围绕这些行的分类帐开始。
Table: coins (user_id, amount, balance, is_void, voided_id, , date_created, date_voided, ...)
First Scenario
1. +10, 10, false, nil, ...dates...
2. +20, 30, false, nil, ...dates...
3. +5, 35, false, nil, ...dates...
4. -1, 34, false, nil, ...dates...
Second Scenario (voided transaction)
1. +10, 10, false, nil, ...dates...
2. +20, 30, false, nil, ...dates...
3. +5, 35, true, nil, ...dates...
4. -1, 34, false, nil, ...dates...
5. -5, 29, false, 3 , ...dates...
您需要能够协调,因此最后余额应与非无效/已退回交易的总数相匹配(is_void == false和无效==无)
ex. First scenario 10 + 20 + 5 - 1 = 34
Second scenario 10 + 20 - 1 = 29
确保您的交易是ACID至关重要,这样您就不会遇到竞争条件。并确保它将是最重要的部分,以便交易历史记录准确。这是一个非常重要的话题。