订单相关场景

1、订单超时解决方案

https://www.csdn.net/tags/NtTaYg0sODYwNzktYmxvZwO0O0OO0O0O.html
https://blog.csdn.net/D812359/article/details/120797954

2、订单扣减库存的三种方式
  1. 下单减库存
    用户下单时减库存,如下图手机壳库存为973件,买家恶意拍下973件,那么就会到导致商品售罄,其他买家无法下单给商家造成损失。(不过可以限制买家下单数量)
    • 优点:实时减库存,对买家比较"友好",避免付款时因库存"不足"的问题;
    • 缺点:恶意买家大量下单,将库存用完,但是不付款,真正想买的人买不到;存在恶拍风险,对商家来说就是噩梦。
  2. 付款减库存
    下单时前台页面显示最新的库存,下单时不会立即减库存,而是等到买家支付成功时才会减库存。不过在实际情况下,在买家支付的时候,会再次校验该商品是否有货。
    • 优点:防止恶意买家大量下单消耗完库存,避免下单减库存的缺点;
    • 缺点:下单页面显示的库存数可能不是最新的库存数,其他用户可能提示库存不足,可能出现超卖风险,导致商家无货可发的尴尬境地,影响买家购买体验。
      但是为了确保有货,可以在前台页面及时告知买家:下单后尽快进行支付操作。
      某宝的商家后台发布商品时,可根据实际场景选择选择扣减库存方式。
  3. 预扣库存
    下单页面显示最新的库存,买家下单后先预扣库存一段时间(比如30分钟、24小时不等),等到超过保留时间后自动取消订单或者手动取消订单,将释放库存。
    值得注意:预扣库存总数量通常不能超过总库存数,若达到最大限制后,买家是不能再下单的,为了防止超卖风险。
    • 优点:结合下单减库存的优点,实时减库存,且缓解恶意买家大量下单的问题,保留时间内未支付,则释放库存。
    • 缺点:保留时间内,恶意买家大量下单将库存用完。并发量很高的时候,依然会出现下单数超过总库存数。

以上三种扣库存方式是电商平台最常见的方式,其中第三种方式运用较多,每种方式都有自己使用的场景。

三种方式使用场景探讨:
  1. 下单减库存

商品库存数量较为敏感的场景,比如秒杀、抢购等建议使用下单减库存的方式,大部分正常买家都是想直接购买超优惠的商品。如果采用付款减库存的方式,可能会出现商品超卖的情况。

比如商家设置秒杀活动,设置了100个秒杀商品,正常用户和恶意用户都是同时进行抢购的,区别是正常用户会直接购买商品,恶意用户虽然在竞争抢购的名额,但是获取到的资格和普通用户一样;

但有些用户下单成功后未支付,页面上商品却已显示售罄,这对商家来说,一个商品也没卖出去,真正想买的用户也没有买到商品,这是“不健康”的现象。

  1. 付款减库存

对于库存数量不敏感的场景,比如团购或者库存数量充足。这个时候由于库存数量充足,就无所谓了,完全可以在支付后再扣除库存,就算超卖了,也不太可能超卖太多(相对于总的库存数量来说),但是风险依旧是存在的。

相对来说这种方式延长了整个购物的时长,付款慢的买家就容易失去想要的商品,比如买家犹豫一下,去付款时,系统告知没货了。

  1. 预扣库存

以上场景均可以采用预扣库存方式,也是目前各大平台采用最多的方式,有效的防止恶意拍单和超卖。

买家下单只是预先扣除“虚拟库存”,即使买家恶意下单多件商品,也不会占用实际库存;等到限制时间结束仍未付款,库存将自动释放出来。

3、秒杀如何防止超卖
  1. 秒杀的商品保存redis,买一个移除一个,直到没有
  2. 加分布式锁,买一个减少一个,直到没有
4、扣减库存如何防止库存扣减为负数
  1. 加分布式锁,直接判断库存是否充足
  2. 使用数据库update写锁
5、如何防止订单重复提交或支付
  1. 使用token机制,防止重复提交
  2. 使用分布式锁
    https://juejin.cn/post/7121554911229116430#heading-0
6、订单重复支付后,如何进行退款

退款流程

7、如何保证订单状态的顺序修改
  1. 判断订单的前置状态,只有前置状态符合才能进行状态修改,不符合抛异常,后续进行排查
  2. 使用mq的顺序消费,顺序修改状态
8、钱扣了,订单还是未支付,怎么办?

https://juejin.cn/post/7137928448672006180

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值