订单系统设计 —— 重复下单

一、重复原因
  造成重复下单的原因有很多,比如用户重复提交、网络超时导致的重试(网关超时重试、RPC超时重试,以及前端超时重试等),下单请求的整个链路都可能造成重复,大致可以分成如下三类:

用户重复提交;
恶意刷单;
网络原因导致的超时重试;

二、产品方案
  如何防止用户重复下单,并不只是技术的事情,因为技术并不一定能百分百的考虑到所有可能重复的场景,必须依靠产品+技术共同的努力,以及运营、客服等订单重复时的事后处理。

用户点击”提交订单“按钮后,对按钮置灰,禁止再次提交;
对于涉及金额比较大的订单,需要弹窗二次确认;
对用户的下单频率、次数进行限制;
三、技术方案
  用户下单在逻辑上是一个非幂等行为,因此解决方案都是基于物理去重的思路设计的,用某个id表示某次下单行为,通过该id判断是否重复;

3.1 基于订单号去重
用户进入下单页面时,前端页面先调用订单服务得到一个订单号;
用户提交订单时,携带得到的订单号,向后端发送创建订单请求;
接收到创建订单请求后,订单系统校验订单号是否合法,以及是否已被缓存;
如果存在,说明订单合法,将订单号作为唯一主键在数据库中创建订单;

3.2 基于唯一ID去重
用户进入下页面时,前端页面自己生成一个全局唯一的ID;
用户提交订单时,在创建订单的请求中带着这个ID;
接收到下单请求后,订单服务首先会利用缓存的CAS操作设置ID;
如果之前不存在则成功,数据库创建订单;如果已经存在则返回;

参考:

https://cloud.tencent.com/developer/article/1121727
 

  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 仓储管理系统(WMS)的流程设计是为了提高仓库运作效率和准确性,确保货物的及时存储和发货。以下是WMS的典型流程设计: 接收货物:流程开始于收货区,货物根据其来源和特性进行分类和分配。采用自动扫描和识别技术来准确记录货物的到货时间和数量。 入库管理:在入库阶段,WMS将检查货物的完整性和质量,并为其分配适当的仓位。通过条码或RFID技术,WMS将货物与储存位置关联起来,以便于日后查找和管理。 库存管理:WMS提供实时的库存信息,包括货物的数量、位置和状态。通过定期盘点,WMS确保库存信息的准确性,并管理过期和损坏货物的处理。 拣货和上架:WMS利用优化的拣货算法,指导仓库工人在拣货区按照订单要求快速选取货物。同时,WMS还提供指导和优化上架货物的流程,以便于将新货物放置到已有库存的合适位置。 包装和发货:WMS会根据订单要求,自动生成包装清单,并提供适当的包装说明。一旦货物正确包装,WMS将根据设定的优先级和交通运输模式生成发货顺序,并生成相应的发货单据。 报告和分析:WMS记录和分析所有仓库相关的数据,包括货物流转时间、库存周转率和仓库工人的工作效率等。这些数据可以用于优化仓库流程、改进计划和预测需求。 通过上述流程设计,WMS能够实现更高的仓库运作效率和准确性。它不仅可以提高货物的存储和发货速度,还可以减少错误和损失。同时,WMS的数据分析功能也可以提供仓库经营决策的依据。 ### 回答2: 仓储管理系统(WMS)是一个涵盖仓库运营管理的综合性软件系统。它将仓库的各个环节进行整合和优化,以实现高效的仓储管理流程。以下是WMS流程设计的一般步骤: 1. 入库流程设计: a. 接收商品:将到货的商品进行验收、计数和质量检查。 b. 上架商品:将验收合格的商品按照规定的货位进行分类、分区,记录存放位置。 c. 更新库存信息:记录入库商品的相关信息,包括数量、批次、生产日期等。 d. 生成入库报告:生成入库报告,包括入库商品的具体信息和存放位置。 2. 出库流程设计: a. 接收出库指令:接收出库指令,从系统中获取要出库的商品信息。 b. 拣选商品:根据出库指令,从仓库中拣选对应商品,并进行复核确认。 c. 包装和标识:将拣选出来的商品进行包装,并进行标识,准备出库。 d. 更新库存信息:记录出库商品的相关信息,包括数量和出库日期等。 e. 生成出库报告:生成出库报告,包括出库商品的具体信息和出库时间。 3. 库存管理流程设计: a. 盘点库存:定期对仓库中的商品进行盘点,核对实际库存和系统记录的库存是否一致。 b. 库存调整:对存在库存异常的商品进行调整,包括报损、报溢或者转移货位等操作。 c. 库存查询:根据需要,随时查询特定商品或整体库存状况,并实时更新库存信息。 4. 数据分析与报表设计: a. 数据分析:对仓储运营的各个环节的数据进行分析,发现问题和瓶颈,并提供优化建议。 b. 报表设计:根据管理需求,设计和生成各类报表,用于评估仓储业务的绩效和效益。 综上所述,仓储管理系统WMS的流程设计包括入库流程、出库流程、库存管理流程以及数据分析与报表设计。通过合理设计和优化这些流程,可以提高仓储运营的效率和精度,降低成本,提供更好的服务。 ### 回答3: 仓储管理系统(WMS)是一种用于管理和控制仓库操作的软件系统。在设计WMS的流程时,需要考虑以下几个方面。 首先,仓储管理系统的流程设计应该从物料收货开始。当货物到达仓库时,首先需要进行验收和检验。验收包括核对货物数量和质量,检验则是对货物进行外观和品质检测。只有通过验收和检验的货物才能被接收入库,否则需要退货或进行处理。 接下来是货物的上架流程。上架是指将货物放置在仓库中指定的存储位置。在这一流程中,需要根据仓库设定的储存策略,将货物按照类型、特性、过期日期等进行分类,并确定合适的储存位置。上架时还需要更新库存信息,确保系统中的库存数据准确无误。 随后是订单处理流程。当客户下单时,需要对订单进行处理,包括库存查询、分配货物、拣货、包装和发货等环节。在这个过程中,WMS需要根据库存情况对订单进行预测,分配合适的货物,并指导工作人员进行拣货和包装操作,最后确保货物按时送达客户。 此外,还需要考虑到仓库盘点流程。定期对仓库进行盘点,可以帮助确认实际库存与系统中库存数据的一致性。WMS可以提供盘点工具和报告,帮助工作人员快速准确地完成盘点操作,并分析盘点结果,及时调整库存。 最后,仓储管理系统的流程还应包括退货和退款流程。当客户退回货物时,需要对退货请求进行处理,并根据退货原因和货物状况进行退款或其他处理措施。 综上所述,仓储管理系统的流程设计涵盖了物料收货、货物上架、订单处理、仓库盘点、退货和退款等多个环节,旨在通过优化流程,提高仓库效率和准确性,满足客户需求,实现高效的仓储管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值