本人开发的新蜂商城增强版,完善了秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
資深大佬 : wayn111 9
本项目是在 newbee-mall 项目的基础上改造而来,将 orm 层由 mybatis 替换为 mybatis-plus,添加了秒杀功能、优惠劵功能以及后台搜索功能,喜欢的话麻烦给我个 star
简介
本人之前一直是在传统公司上班,接触的都是政企项目,公司各系统业务繁多数据库表设计复杂,多是业务逻辑庞大使用技术也都不算新,算是 j2ee 时代的遗留产物,鉴于现在 springboot 、微服务、中间件等等风生水起,又因本人对商城系统情有独钟,因此打算先用 springboot 搭建一个商城系统,刚好发现了 newbee-mall 项目,就在此项目的基础上添加了一些自己没有接触过的新功能,一起进步。
系统升级
本次升级主要在原有秒杀功能的基础上进行了完善,秒杀优化如下:
- 秒杀页面静态化
- 添加了秒杀接口限流,基于 springAOP 实现
- 添加了秒杀接口防止重复提交,基于 spring 拦截器实现
- 使用 redis-set 数据结构判断用户是否买过秒杀商品
- 使用 redis 配合 lua 脚本进行原子自减,判断商品缓存库存是否大于 0
- 获取商品缓存,判断秒杀商品是否再有效期内
- 执行执行存储过程(减库存 + 记录购买行为)
- 使用 redis-set 数据结构记录购买过的用户
- 返回用户秒杀成功 VO
- 下单后启用秒杀订单 5 分钟未支付超期任务
- 订单 5 分钟内为支付则自动取消订单并回退库存
源码
github
在线地址:newebee-mall
分类管理 ![]() |
会员管理 ![]() |
|---|---|
优惠劵管理 ![]() |
商品管理 ![]() |
秒杀管理 ![]() |
订单管理 ![]() |
秒杀专区
秒杀专区为用户展示了后台设置的秒杀商品,在秒杀有效期内可以进行商品秒杀操作. 后台使用了储存过程提高秒杀操作的 tps

优惠劵领取
优惠劵页面为用户展示了后台设置的可用优惠劵,在下单时可以使用优惠卷减少下单金额

商城 15 天交易额统计
商城 15 天交易额统计可以为商城运营人员展示商城近期总交易金额

感谢newbee-mall 项目原作者十三提供的基础项目支持
参考资料
秒杀架构模型设计
Java 高并发秒杀 API (慕课网)
⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析
大佬有話說 (24)





