热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

业务电商库存

对库存模块从业务架构角度进行说明。功能模块划分下单的库存预占出库的库存真实扣减库存的回滚(取消订单(来自商家,用户)&#

对库存模块从业务架构角度进行说明。


功能模块划分


  • 下单的库存预占
  • 出库的库存真实扣减
  • 库存的回滚(取消订单(来自商家,用户))
  • 库存的调整(订单调整,商家的调整)
  • 是否可买(限时销售,定时销售)

其他业务


  • 销量排名
  • 库存预警

涉及库存场景
1.用户正常流程
用户下单-商家分拣-(快递员取件)-物流运输-快递员投递
2.用户购买商品缺货情况一
用户下单-商家缺货-用户协商-调整缺货商品-商家分拣-(快递员取件)-物流运输-快递员投递
3.用户取消订单
用户下单-用户取消
4.风控
用户下单-风控根据规则设置为异常单-订单锁定-订单取消或者订单继续生产
5.商家维护可售库存量,即时或者定时生效


库存计算公式

可用库存=现货库存-预占库存-锁定库存


问题

1.如果安全的扣减库存?
update… set x_stock=x_stock-buy_num where id = … and x_stock>=buy_num
2.秒杀情况?限流,排队
缓存放个库存计数器,超过的请求直接返回
请求排队
3.秒杀同一个用户不能抢购一个商品2次?
缓存记录用户和抢购商品关系,记录是否抢购过,如果抢购过就返回(记录存在时间为活动时间)


推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 本题库由【学视线】公众号提供,涵盖安全员A证考试试题、预测题及历年真题。通过在线刷题和模拟考试,帮助考生全面准备并顺利通过考试。 ... [详细]
  • 如何评估档案密集柜的承重性能
    档案密集柜是用于存储重要文件和资料的专业设备,广泛应用于档案馆、学校等场所。其结构设计确保了高效安全的存储方式。本文将探讨如何评估档案密集柜的承重能力,并提供专业建议。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
author-avatar
mobiledu2502861997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有