购物商城数据库设计-订单系统设计


订单系统在整个商城体系中的作用非常重要,因为一些业务的开展往往是围绕订单来展开的。因此设计好一个订单系统是多么的重要。

我们根据用户的行为逐个设计表结构。

首先用户浏览商品,将看中的商品加入到购物车,这里应该有一张购物车表

购物车表(order_cart)
----
skuId 
spuId
用户id 店铺id 商品名称 商品数量 商品价格 状态(下单之后对应商品就不应该显示在购物车了) 

选中购物车中的某些商品,进行下单,订单表也就应运而生

订单表(order_info)
----
订单编号(如果对编号格式没什么要求,可使用雪花算法https://blog.csdn.net/u011499747/article/details/78254990来生成) itemCount (商品项数量,不是商品个数,比如手机*2,鼠标*1,这里应该是2) 用户id 店铺id 下单时间 支付方式(可用数字表示,如1:支付宝,2:微信,3:银行卡...) 支付时间 outTradeNo 支付宝订单号 配送方式 期望配送日期 商品总额 运费 实际付款 订单状态(这里的状态可根据实际项目来定,可以定10,20,30..这样如果中间缺少一个状态可以添加进去) 

如果购物车里面有多个店铺的商品,那么应该分别为这些店铺生成对应的订单。平台可以进行合并支付,但是订单还是要归店铺的。

上面是订单的基本信息,接下来是订单商品相关。

订单商品表(order_product) --- 订单编号 spuId skuId 店铺id 商品名称 商品数量 商品价格 

这里order_info与order_product是1对多的关系,一个订单可能有多个商品。

下单完成,等着发货,物流信息不能少,加下来是物流表

物流表(order_logistics) --- 订单标号 物流公司id 物流公司编号 快递单号 发货时间 收货时间 物流跟踪表(order_logistics_flow) --- 订单标号 物流公司标号 快递单号 remark(根据第三方接口返回来的结果信息) 

加下来设计一下发票表

订单发票(order_invoice) --- 发票类型 发票抬头 发票内容 发票代码 发票号码 开票日期 校验码 密码区 服务名称 规格型号 数量 单价 金额 合计 税率 税额 销售方名称 销售方纳税人识别号 销售方地址电话 销售方开户行及账号 备注 收入款人 开票人 

下单完成后进行支付,这里会有支付记录表,方便以后对账

支付记录表(order_pay_history) --- 订单编号 支付方式 订单总额 支付金额 pay_json(第三方支付平台参数信息,可使用json方式保存) remark (备注) 

用户收到货后,可以进行评论,下面是评论表

订单评论(order_product_comment) --- spuId skuId 评论用户id 用户昵称 点赞数 comment(评论内容) 评论分数(1~5分) 评论时间 product_info_json(评论的商品信息,如规格型号之类的) image_json(评论图片) 

好了,订单系统设计到此为了,当然围绕订单系统还有更多的业务可以开展,这里只做了一些基本的结构设计。

顺便说一句,如果一开始就想做分布式系统,建议把商品相关的表和订单表放在同一个数据库中,一则是因为订单业务需要查询商品相关的数据,二则是因为放在一起做事务比较容易,不然需要做分布式事务,加大了开发成本。前期项目规划的时候这点需要考虑到。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM