微服务订单支付实践:购物车、订单设计与支付方式

需积分: 1 5 下载量 95 浏览量 更新于2024-08-04 2 收藏 289KB DOCX 举报
本讲主要涉及微服务架构下的购物车、订单系统以及支付设计,特别是微信支付和支付宝支付的实践。讲解了订单相关表的设计,包括购物车表、订单表、订单商品表、物流表、物流跟踪表以及发票表,并提到了单点登录的场景和解决方案。 在微服务架构中,购物车功能是电商系统的关键部分。购物车表(order_cart)存储了用户选择的商品信息,包括skuId(库存单元ID)、spuId(标准产品单元ID)、用户id、店铺id、商品名称、商品数量、商品价格和状态。状态字段用于区分已下单的商品不再显示在购物车中。 当用户确认下单时,会生成订单(order_info)。订单表包含订单编号(通常由雪花算法生成)、商品项数量、用户id、店铺id、下单时间和支付方式等信息。支付方式字段可以通过数字标识不同的支付渠道,例如1代表支付宝,2代表微信支付。此外,还有支付时间、支付宝订单号(outTradeNo)、配送方式、期望配送日期、商品总额、运费、实际付款和订单状态。订单状态设计应留有扩展空间,以便在项目发展中添加新的状态。 购物车内的商品可能来自不同店铺,因此每个店铺需单独生成订单。尽管可以实现平台层面的合并支付,但订单归属仍需明确到各个店铺。 订单商品表(order_product)记录了订单内的具体商品详情,如spuId、skuId、店铺id、商品名称和数量,与订单表形成一对多关系。 物流信息则通过物流表(order_logistics)和物流跟踪表(order_logistics_flow)来追踪,包括订单标号、物流公司信息、快递单号、发货和收货时间。物流跟踪表记录了物流过程中的关键节点和信息。 订单发票(order_invoice)用于处理用户的发票需求,包含了各种发票细节,如类型、抬头、内容、代码、号码、开票日期、校验码等,以及税务信息和服务详情。 最后,支付记录表(order_payment_record)用于记录支付信息,便于后续的对账和审计。 这一系列设计旨在构建一个完整的电商交易流程,覆盖从浏览商品、添加到购物车、下单、支付、物流追踪到开具发票的全过程,确保微服务架构下系统的稳定性和用户体验。