基础订单中台
2022-02-09 17:04:52 0 举报
基础订单中台
作者其他创作
大纲/内容
按照APPID拆分为多个子订单1、各订单按照app计算各自运费2、优惠券按照店铺和商品分配到指定子订单3、积分、电子钱包按比例拆分到各子订单
Y
1、哪一步异常,回滚上一步消费的资源2、返回验证信息3、取消订单锁,可以再次下单
各订单业务执行各自业务,例如发券等
下订单页面
基础订单平台:各业务个性化功能点放到各业务微服务中实现,基础订单平台通过GRPC按照业务订单标识调用
各订单业务商品验证和个性化校验:1、商品属性验证(各订单业务商品信息不一致,需要单独验证)、库存、价格变化、上下架、失效等2、各业务个性化验证。例如外卖配送距离有效性,配送时间段有效性等
多App订单
1、返回验证信息2、取消订单锁,可以再次下单
统一入参携带业务订单标识,方便获取提前配置的所需功能做后续的判断
1、统一入参验证(必传参数非空判断)2、订单锁(防止频繁下单,按照用户Id加锁)
基础订单平台作用:提取当前各个订单中台微服务中可复用的部分,制定统一的入参、出参标准。后续有新的订单业务接入时,可以使用该基础订单中台做为基础,配合订单业务的定制化需求做敏捷开发。1、提取公共的接口在该平台实现,后续直接重用2、商品属性校验和各订单个性化验证放到各订单业务微服务实现
基础订单平台:业务订单功能管理表,按照业务订单标识区分(例如OMS、OGP、OCP等)1、启用钱包?2、启用优惠券?3、启用积分?4、是否需要分账
跳转支付中台,进行支付
N
1、消费优惠券2、消费电子钱包3、消费积分
基础订单平台:提取各业务订单公共订单字段、订单项字段,后续作为创建新业务订单的基础字段。各业务个性化字段封装为一个josn串,在各业务订单微服务总解析存储。订单业务逻辑在基础订单平台中实现,个业务微服务主要做数据存储和订单状态流转操作。
redis记录通知事件(异常时回滚补充库存)
各订单业务事件通知减商品库存
生成基础订单数据、基础订单项数据,拆分钱包、优惠券、积分、运费到订单项
支付成功
创建订单时,资源的消耗记录redis,若发生异常时,进行相关资源的回滚
下订单
实际支付金额是否>0
订单校验(钱包、积分、优惠券、订单价格验证)
修正订单状态和支付状态,推送下单成功消息
入参:门店Id StoreId?是否使用钱包 IsUseWallet是否使用积分 IsUseIntegral使用的优惠券集合 CouponIds商品信息集合 OrderItemsAPP.IdUser.Id1、获取下单人默认收货地址2、获取下单人电子钱包信息3、获取下单人可用优惠券信息4、电商馆设置配送方式5、获取下单人可用积分出参:收货地址运费?(多app运费)钱包金额优惠券集合配送方式积分总金额实付金额各优惠金额
0 条评论
下一页