后台-系统设置-扩展变量-手机广告位-内容正文顶部 |
订单架构文档
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。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。