05. 售后退货链路业务流程分析

521 阅读1分钟

发起售后退货

  1. 用户消费者,发起退货申请;
  2. 订单服务,操作本地数据库,记录售后数据,发送消息,退货申请,通知客服系统
  3. 客服服务,消费消息,插入售后工单,等待退货入库通知;

技术问题:订单记录售后数据与发送消息通知客服系统的强一致性问题,基于基于RocketMQ事务消息保证;

021_售后退货链路业务流程(发起售后退货)分析.png

审核售后退货

  1. 客服服务,审核售后退货申请完成,通知订单服务更新售后数据
  2. 订单服务更新售后数据,发送消息,售后退货释放资产

技术问题:订单服务更新售后数据与”发送售后释放资产消息“的强一致性问题,基于基于RocketMQ事务消息保证;另外,关于实际执行退款处理,同样,需要基于RocketMQ事务消息保证释放优惠券的业务逻辑和执行退款的强一致性问题(需要思考一下,结合退款原理分析);

还有一个问题,考虑消费者撤销售后申请和审核售后退货的并发问题,分布式锁保证,先执行撤销逻辑,这个时候都已经收到用户的退货啦,还能怎么处理呢???

022_售后退货链路业务流程(全链路)分析.png

注意:目前针对单个订单条目进行退货处理;