mysql db和php结构存储用户虚拟货币
我在我的国家拥有小型sms高级网关。现在我正在重建它,所以问题是如何组织数据库结构,以便能够从每个用户帐户中提取资金或添加资金(当进行新的sms交易时) 现在我有了一个结构,当我存储每一笔交易时,它都有货币价值,比如说1美元,而且每个用户都有自己的静态帐户,该帐户由用户id和其中的货币组织,如下所示:mysql db和php结构存储用户虚拟货币,php,mysql,transactions,laravel,sms,Php,Mysql,Transactions,Laravel,Sms,我在我的国家拥有小型sms高级网关。现在我正在重建它,所以问题是如何组织数据库结构,以便能够从每个用户帐户中提取资金或添加资金(当进行新的sms交易时) 现在我有了一个结构,当我存储每一笔交易时,它都有货币价值,比如说1美元,而且每个用户都有自己的静态帐户,该帐户由用户id和其中的货币组织,如下所示: user_id money 1 15.55 流程是这样的: 交易完成了 我收到成功的费用 然后我向数据库中写入一个事务 并向用户钱包中添加如下货币:money=money+1 但我
user_id money
1 15.55
流程是这样的:
id = 12345
transaction_id = 12345
value = 1.50 ( $ )
user_id = 10
datetime = 05.12.2013
... other columns ...
我还向用户钱包(用户帐户)收费
用户可以按周期(一个月周期)查看从每月第一天到每月最后一天的统计数据。上个月(期间)每月提款
提取时,我在数据库中插入一个特殊标记:
期间标记:
id = 12345
payout_id => referes to bill table
start_period = 01.12.2013
end_period = 31.12.2013
period_mark = 2013-12
total = 1.50 ( $ )
( so it means that all transactions that was made from 01.12.2013 till 31.12.2013 are payed out to user )
而且,当进行取款时,我会从静态用户帐户取款:
UPDATE user_accounts SET money = money - '1.50' WHERE user_id = 12345.
我认为这种结构是非常困难和错误的。使用这种结构,在静态用户帐户(用户钱包)中很容易出错,当您将钱包中的钱与统计数据(所有记录)进行比较时,可能会导致统计数据和静态用户帐户之间的金额不同
如何更好地组织这种结构?您应该给出您编写的代码,这样SOER可以帮助您纠正错误并改进编码。根据您的要求,问题已更新为更详细的示例。
UPDATE user_accounts SET money = money - '1.50' WHERE user_id = 12345.