求一怪异的订单表设计方案?

客户有个需求是这样的

用户买2000元产品,下单后,买谁的不知道,什么时间买到,由系统调配。

一般是有人开始卖了,就可能买到了。

先买的人,先买到;后来的人后面买到。排队买入

先卖的人,先卖掉,后来的人后面卖掉,排队卖出

例如:买 2000产品,下单后。过一会买到了。张三的200元的产品,李四的800元产品,王五的1000产品

同样2000的产品,下单后,过一会就买到了。张三 买到500,李四买到1000,王二 买到500

大概就是这个意思。用户即是买家,又可以是卖家。

这种订单怎么设计比较合理呢?


我想的是,下单后主订单表生成一个订单,类型:买入,卖出,要买入总金额;

好像不对,这里用户还未真正下单,不能写入订单表吧?

就是这个买入,卖出,是撮合完成的。

就像虚拟币交易所这种,撮合完成的。


按传统 有个订单表,一个订单明细表。这个好像又有点不一样。不知咋设计,大神指点一下哇!

阅读 2.1k
2 个回答
新手上路,请多包涵

我的想法是一个主表,添加,类型,金额,余额,卖出的用户 订单状态
然后关联匹配拆分子表, 就是最终用户 买入或者卖出 的实际对应的数据
因为这个用户购买或者出售的 金额肯定是冻结状态的,当交易金额和余额相等的情况下,这个订单状态就完结了。
最好是放在阵列里面去循环处理,

你这不是股票交易模型嘛

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