我需要一种优雅的方式来实现针对在线商店的基于信用的购买,其中包含少量产品,可以使用虚拟信用或真实购买货币即可。或者,产品只能以积分计价。
在使用不同的产品类型(例如Credit
,Voucher
或Music
)进行订单后处理之前,我已经实施了基于信用的购买,以便为表单中的用户分配购买的赠送金额真实货币,随后可用于贴现未来订单的费用总额。
作为一种临时解决方案,这种做法相当不错,但是没有成功地将虚拟货币与真实货币断开连接,这是我想要做的事情,因为消费信贷在客户心理上比花费真实货币更容易。 / p>
我需要有关正确设计数据库的指导,支持同时批量购买折扣以及实际货币产品。或者,如果所有产品都以信用价格定价且只有信用证具有实际货币价值吗?
部分Products
表:
部分Orders
表:
Users
表相关,未显示)部分OrderItems
表(类似于CartItems
表):
Orders
表相关)Products
表相关)预期UserCredits
表:
Users
表相关,未显示)我在SQL Server数据库上使用ASP.NET MVC和LINQ-to-SQL。
答案 0 :(得分:3)
您不向Credits支付供应商,因此从内部会计角度来看,最好只持有针对您产品的现金价值(USD,UKP等)。
向您网站的用户展示时,您需要一个货币换算表,将硬价格转换为优惠券。将数据模型与前端显示器分离是一项关键的设计策略。您是否决定同时显示实际现金价格和虚拟信用价格,或仅仅显示信用评估,这与数据在数据库中的存储方式无关。
答案 1 :(得分:0)
与您的会计/财务人员交谈。信用,一旦给出,就像双重会计中的任何金钱一样真实,如果您没有向信贷供应商支付信用额度,但您承诺提供商品以获得您必须以现金支付的信用。它应该始终保持平衡,并且要查看您的完整财务状况,您应该能够在资产负债表中获得这些信用。
从一开始就尝试对帐户和交易进行建模 - 以后更容易连接到财务/会计软件,如果您可以双方运行报告以进行对帐,那么总是很好。