RabbitMQ实现订单时设计思路、以和在订单过期临界点支付成功处理
场景:
我们知道用 RabbitMQ 的延时队列可以实现用户下单后在 xxx 时间内未支付,需要自动关闭订单。但如果用户在订单即将过期的最后一秒支付成功、那么这笔订单算不算正常下单?要不要释放库存?
一、下单未支付超时自动关闭订单设计思路
1、以 30分钟 为例,订单表必须的字段
订单状态、订单支付状态、订单过期时间、库存是否释放、库存释放时间
【1】订单状态:已下单、待出库、运输中、派送中、已取消、已关闭等
【2】订单支付状态:已支付、未支付
【3】订单过期时间:此字段可返回给前端,用于倒计时的起点。取值为用户下单时候订单信息落库时间 30分钟,下单接口可使用异步线程同时把订单信息落库、丢入消息队列
【4】库存是否释放:是、否
【5】库存释放时间:此字段要晚于订单过期时间 1 到 2 分钟,避免订单过期后库存立刻释放而被其他订单冻结,用于临界点支付成功的缓冲时间
二、用户在订单即将超时的最后一秒支付成功,这笔订单如何处理?
1、此问题需要开发和产品业务沟通,由产品决定算下单成功还是关闭订单
2、产品决定临界点支付成功,算正常下单成功
【1】更新订单状态(出库中)、扣减库存
3、产品决定临界点支付成功,算下单失败
【1】此时需要退款、更新订
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggjefc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13