MYSQL 订单、交易、余额使用记录存储办法

首先说下我公司现在做的业务有:
直播、社群、资讯 等等

收费的地方有:
1、直播过程中的收费
2、直播回放的购买
3、社群加入的收费
4、发起提问的收费
5、高质量资讯的收费
等等

1、这些收费可以使用微信、支付宝、银联直接支付。
2、也可以使用余额支付,余额是我们开发的一个功能。

我现在的做法是:
1、每个收费的订单都存到一个表中。例如:直播收费 live_order , 直播回放 live_record_order,社群加入的收费 group_order 等等
2、而余额的订单记录,我是在余额表中添加一个标示。类似这次余额消费是直播 state = live_order

我感觉我这样做,是一个强耦合的方法。一旦业务更改我就傻x了。

我的问题是:
如何更便捷的实现这些订单的存储以及消费记录

阅读 6.9k
2 个回答

每个渠道都建一张表,以后再增加业务,你不是还要继续扩展表?都存订单表,做业务渠道区分就好了吧,如果是怕数据量大了访问慢,后面再做分表分库就好了。余额的话,应该就是你们平台自己的一个货币吧,常规来说是全平台通用的,哪里都可以使用,这个应该是跟用户账号挂钩的,订单里只写上本次的消费额度就好了。

order:order_id,......,order_channel,pay_type,pay_money,expense_balance...
订单表:订单号,........,业务渠道(回放,社群等),支付渠道(微信,支付宝等),支付金额,使用余额......

差不多是楼上说的那样。
看情况吧,一般来说一个订单支持多个支付渠道和多个支付流水,
因为有可能余额不足,所以需要,余额支付+在线支付,就好比一个订单有多件不同商品一样。
这样子才比较好统计。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题