购物车与结算与交易的架构详细说明有图有表

后台-系统设置-扩展变量-手机广告位-内容正文顶部

订单架构文档

1、交易的概念

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

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

2、购物车架构

2.1简述作用

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

2.2添加商品到购物车

2.2.1流程图

2.2.2流程图思路描述:

  1.调用CartBuyerController的添加商品接口。

  2.根据商品的skuId读取商品的信息。

  3.根据商品的id读取参与的促销活动。

  4.把以上得到的信息存储到CartSkuOriginVo中。

  5.将CartSkuOriginVo压入到reids。

2.3展示购物车数据

2.3.1流程图

2.3.2流程图思路说明

  调用CartBuyerController的读取购物车数据接口。

  通过当前会话的key读取redis缓存中的购物车列表。

  返回购物车数据列表。

3结算参数架构

3.1简述作用

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

添加结算参数信息

3.2.1流程图

3.2.2流程思路说明

  调用CheckoutParamBuyerController的接口用户发送的参数信息。

  设置收货地址、支付类型、发票、送货时间等参数信息。

  读取当前会员的默认收货人信息。

  将结算信息放到redis的hash中,key:buyerid,hashKey:addressId/receiveTime/paymentType等,hashValue:value。

3.3读取结算参数信息

3.3.1流程图

3.3.2思路说明(看红框处)

  1.调用CheckoutParamBuyerController读取结算参数的接口

  2.调用结算参数业务层。

  3.从redis中读取结算参数。

  4.返回给用户。

4订单架构

4.1简述作用

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

4.2创建交易

4.2.1流程图

4.2.2流程图思路描述

  1.调用TradeBuyerController创建订单接口。

  2.调用CheckoutParamManager接口,从redis读取结算参数。

  3.调用CartReadManager接口,从redis读取购物车数据和交易价格。

  4.使用建造者模式,创建TradeCreator。

  5.调用TradeCreator的方法,依次检测配置范围->检测商品合法性->检测促销活动合法性->创建交易。

  6.检测方法:a)调用checkShipRange检测接口,检测配送范围。b)调用checkGoods检测接口,检测商品是否合规。c)调用checkPromotion检测接口,检测促销方式是否合规。

  7.把交易信息以新订单状态存储到数据库中

  8.把交易发送给消息队列(MQ)。

  9.返回给用户创建。

  以上就是关于订单架构详细说明,想了解更多内容的,可以持续关注易族智汇javashop

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

后台-系统设置-扩展变量-手机广告位-内容正文底部
留言与评论(共有 0 条评论)
   
验证码: