客户有个需求是这样的
用户买2000元产品,下单后,买谁的不知道,什么时间买到,由系统调配。
一般是有人开始卖了,就可能买到了。
先买的人,先买到;后来的人后面买到。排队买入
先卖的人,先卖掉,后来的人后面卖掉,排队卖出
例如:买 2000产品,下单后。过一会买到了。张三的200元的产品,李四的800元产品,王五的1000产品
同样2000的产品,下单后,过一会就买到了。张三 买到500,李四买到1000,王二 买到500
大概就是这个意思。用户即是买家,又可以是卖家。
这种订单怎么设计比较合理呢?
我想的是,下单后主订单表生成一个订单,类型:买入,卖出,要买入总金额;
好像不对,这里用户还未真正下单,不能写入订单表吧?
就是这个买入,卖出,是撮合完成的。
就像虚拟币交易所这种,撮合完成的。
按传统 有个订单表,一个订单明细表。这个好像又有点不一样。不知咋设计,大神指点一下哇!
我的想法是一个主表,添加,类型,金额,余额,卖出的用户 订单状态
然后关联匹配拆分子表, 就是最终用户 买入或者卖出 的实际对应的数据
因为这个用户购买或者出售的 金额肯定是冻结状态的,当交易金额和余额相等的情况下,这个订单状态就完结了。
最好是放在阵列里面去循环处理,