我正在从事酒店预订,用户可以预订 一个使用预付费积分存储在钱包中的房间。用户可以通过贝宝充值或重新加载钱包。 目前,我有以下型号。
房间(费率,否,容纳人数) 预订(booking_no,room_id,状态,金额) 钱包(user_id,余额) WalletTransaction(wallet_id,金额,类型(付款,充值)) TopUp(wallet_id,金额,状态(pending_paypal_payment,成功)) 付款(booking_id,金额,状态(已完成,已退款)
我做对了吗?
答案 0 :(得分:0)
我可能提出的一些建议是在数据库字段上使用更常规的名称和冗长的命名。
我认为最好使用credit
或debit
作为钱包,但是您甚至还需要一个字段名称吗?标准是debit
是负数,而credit
是正数。看来TopUp
和Payment
不必是单独的模型,因为它们共享许多相同的字段。并不是说“错”,而是看起来很不规则。
除非有其他类型的事务,否则您可能要命名Transaction
而不是WalletTransaction
,但是您可能会使用多态关系。
对于字段名称,我会更详细些,并使用number
而不是no
。
您需要booking_no
吗?我希望它只是id
的主键,当您添加新的预订记录时,它会逐渐分配。