订单架构文档

1 交易的概念

指用户与平台之间,用户将平台的商品加入购物车,并提交订单并付款给平台,平台看到用户发起的订单,并将商品发送给用户,用户确认收款,至此完成了一笔成功的交易。

通过以上的概念得知交易包含:用户,商品,购物车,订单,平台。其中用户和平台代表交易的双方,商品,购物车和订单代表交易的媒介。

2 购物车架构

2.1 简述作用

购物车中存储的是平台的商品,这些商品有平台自营也有平台各个商家的商品,当用户将商品添加到购物车时,需要按照平台和各个商家来进行区分。

2.2 添加商品到购物车

2.2.1 流程图

点击查看大图

2.2.2 流程图思路描述:

  1. 调用CartController的添加商品接口。
  2. 根据商品的id读取商品的信息。
  3. 根据商品的id读取参与的促销活动。
  4. 把以上得到的信息存储到cartPo中。
  5. 将cartPo压入到reids。
  6. 调用IPromotionManager的购物车价格计算方法。

2.3 展示购物车数据

2.3.1 流程图

2.3.2流程图思路说明

  1. 调用CartController的读取购物车数据接口。
  2. 通过当前会话的key读取redis缓存中的购物车列表。
  3. 返回购物车数据列表。

3 结算参数架构

3.1 简述作用

结算参数包含(收货人信息,支付方式,配送方式,发票信息,送货时间等),这些信息是用户需要告知平台,如何把商品交易到用户手中。

添加结算参数信息

3.2.1 流程图

点击查看大图

3.2.2 流程思路说明

  1. 调用CheckoutParamController的putParam接口用户发送的参数信息。
  2. 设置参数信息。
  3. 读取当前会员的默认收货人信息。
  4. 检查session是否已上锁。
  5. 若没有上锁则将结算参数信息压入redis中。

3.3 读取结算参数信息

3.3.1 流程图

点击查看大图

3.3.2 思路说明(看红框处)

  1. 调用CheckoutParamController读取结算参数的接口
  2. 调用结算参数业务层。
  3. 从redis中读取结算参数。
  4. 返回给用户。

4 订单架构

4.1 简述作用

把购物车中的商品,结算参数信息归拢在一起,并按照店铺拆分,购物车中每一个店铺为一个订单,一笔交易包含多个订单,交易价格为我的购物车中所有商品的价格。

4.2 创建交易

4.2.1 流程图

点击查看大图

4.2.2 流程图思路描述

  1. 调用OrderCreateController创建订单接口
  2. 调用RedisTradeCreator创建交易方法
  3. 调用ICartmanager接口,从redis读取购物车数据。
  4. 检测方法: a)调用IGoodsManager检测接口,检测商品是否合规。 b)调用IPromotionManager检测接口,检测促销方式是否合规。
  5. 调用ICheckoutParamManager接口,从redis读取结算参数。
  6. 调用IOrderPriceManager接口,从redis中读取交易价格信息。
  7. 把交易信息存储到redis中
  8. 把交易发送给消息队列(MQ)。
  9. 返回给用户创建。

results matching ""

    No results matching ""