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

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

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

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

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

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

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

阅读 3.3k
评论
    2 个回答
    • 1.6k

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

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

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

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章