目前在做的一个项目是租赁商城,由于租赁过程会涉及支付押金、返还时支付租金、返还时退回押金、充值等等的业务,所以会有各种不同的订单(租赁支付押金订单、返还支付租金订单、返还押金退还订单、用户充值余额订单、邮寄租赁订单、邮寄返还订单……)。
目前所有订单是在一个订单表里,但是由于订单种类非常多,所以各种订单的业务字段都放在这个订单表里(比如支付押金的押金支付时间,返还时支付租金的时间……),而且这些业务字段并不是每个订单都要用,所以就很累赘。另外还有一个问题就是订单状态很难设计,比如租赁的订单会有未支付、正在使用、已返还……而邮寄租赁订单又会有邮寄中……等的状态,所有状态都堆在这个订单表根本就不行了。
所以现在在想一种方法就是把订单的通用信息(比如订单号、金额等)提出来作为订单主表,然后通过订单类型分出各种类型的表(如租赁订单表、返还订单表、充值表等),每个订单分表有自己的业务字段、状态,并从属于某个订单主表记录。我并不知道的做法是否适当,特来请教一下各位大神!
订单主表
order(id ,order_no ,order_type(比如是"lease"类型))
租赁订单分表
lease_order(id ,order_id ,pay_time ,status ,.....)
分门别类做订单表,在汇总表里做关键