购物商城数据库设计-订单系统设计.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
购物商城数据库设计 购物商城数据库设计-订单系统设计 订单系统设计 订单系统在整个商城体系中的作⽤⾮常重要,因为⼀些业务的开展往往是围绕订单来展开的。因此设计好⼀个订单系统是多么的重要。 我们根据⽤户的⾏为逐个设计表结构。 ⾸先⽤户浏览商品,将看中的商品加⼊到购物车,这⾥应该有⼀张购物车表 购物车表(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(评论图⽚) 好了,订单系统设计到此为了,当然围绕订单系统还有更多的业务可以开展,这⾥只做了⼀些基本的结构设计。 顺便说⼀句,如果⼀开始就想做分布式系统,建议把商品相关的表和订单表放在同⼀个数据库中,⼀则是因为订单业务需要查询商品相关的 数据,⼆则是因为放在⼀起做事务⽐较容易,不然需要做分布式事务,加⼤了开发成本。前期项⽬规划的时候这点需要考虑到。 在设计购物商城数据库时,订单系统是核心组成部分,因为它涉及到了整个商城的业务流程。一个良好的订单系统设计能够确保交易的顺畅,提高用户体验,并且便于后台管理。在本设计中,我们将关注以下几个关键表的构建。 购物车表(order_cart)用于存储用户在商城中选择的商品。这个表包括skuId(库存单元ID)、spuId(标准产品单元ID)、用户id、店铺id、商品名称、商品数量、商品价格以及状态。状态字段用于标记商品是否已下单,下单后商品不应再显示在购物车中。 订单表(order_info)是订单系统的核心,它记录了订单的基本信息,如订单编号(可以使用雪花算法生成)、itemCount(商品项数量而非商品个数)、用户id、店铺id、下单时间和支付方式等。此外,还包括支付时间、outTradeNo(支付宝订单号)、配送方式、期望配送日期、商品总额、运费、实际付款和订单状态。订单状态可以采用如10、20、30等数字表示,方便在项目中扩展新的状态。 订单商品表(order_product)记录每个订单包含的商品详情,包括订单编号、spuId、skuId、店铺id、商品名称、商品数量和商品价格。此表与订单表构成1对多关系,意味着一个订单可能包含多个商品。 物流信息是订单过程中的重要环节。物流表(order_logistics)包含了订单标号、物流公司id、物流公司编号、快递单号、发货时间和收货时间。物流跟踪表(order_logistics_flow)用于记录物流动态,包括订单标号、物流公司标号、快递单号和remark(第三方接口返回的结果信息)。 发票表(order_invoice)用于管理订单的发票信息,如发票类型、发票抬头、发票内容、发票代码、发票号码、开票日期、校验码、密码区、服务名称、规格型号、数量、单价、金额、税率、税额、销售方名称、销售方纳税人识别号、销售方地址电话、销售方开户行及账号和备注等。这些信息有助于确保发票的合规性和准确性。 支付记录表(order_pay_history)用于存储用户的支付历史,方便后续对账。它包含订单编号、支付方式、订单总额、支付金额、pay_json(第三方支付平台参数,用JSON格式保存)和remark(备注)。 评论表(order_product_comment)记录用户的商品评价,包括spuId、skuId、评论用户id、用户昵称、点赞数、评论内容、评论分数(1~5分)、评论时间和product_info_json(商品规格型号等信息)、image_json(评论图片)。用户评论是提升用户体验和产品改进的重要参考。 在设计分布式系统时,考虑将商品相关表和订单表放在同一个数据库中,这样可以简化事务处理,避免进行复杂的分布式事务,降低开发成本。在项目初期规划时,应充分考虑这种设计策略。 本设计涵盖了从用户购物车到订单创建、支付、物流、发票、支付记录和用户评论的整个流程,形成了一个完整的购物商城订单系统。这样的设计为商城的运营提供了坚实的基础,同时为未来业务扩展预留了足够的空间。
- 粉丝: 105
- 资源: 9354
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 数据库基本内容讲解和操作
- Centos8.x通过RPM包升级OpenSSH9.9.(openssl-3.4.0) 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- FortFirewall-3.14.7-windows10-x86-64 防火墙
- javaweb基本操作
- Centos7.x升级openssl-1.1.1w rpm安装包 升级有风险,前务必做好快照,以免升级后出现异常影响业务
- yolo的基本操作用法
- Ubuntu20/22/24通过deb包升级OpenSSH9.9方法 不支持16、18版本,升级有风险,前务必做好快照,以免升级后出现异常影响业务
- java swing(Gui窗体)宿舍管理系统 (有附件)
- 数据集格式转换以及标注框可视化脚本
- 火狐国际开发版安装文件