订单系统的退款问题
《1》申请退款【商品还没有发货】,需要:
【1】重新给商品增加库存
【2】更改订单状态为“已经完成”
【3】减少你的积分
【4】收回你的优惠券和红包
【5】发送Push告诉你退款完成了
【6】通知仓储系统取消发货
流程太多,步骤太长,用户体验极差。
申请退款,最大的问题
就是调用第三方支付系统失败。回滚各种操作。比如
更改订单状态、增加库存、收回优惠券和红包、减少积分,通知取消发货等。
确认订单,但是不支付如何处理
确认订单了,创建订单的时候已经调用库存系统锁定了商品的库存,已经跳转到支付界面了,
你却放弃了支付。如果一直不支付,就会一直锁定着库存。
通常的处理方式:
订单系统启动一个后台线程,扫描待支付的订单,如果发现24小时没有付款,就关闭,释放库存。
如果订单系统有几百万,甚至几千万,上亿呢?–》效率极其低下。