wayn111

本项目是在newbee-mall项目的基础上改造而来,将orm层由mybatis替换为mybatis-plus,添加了秒杀功能、优惠劵功能以及后台搜索功能,喜欢的话麻烦给我个star

简介

本人之前一直是在传统公司上班,接触的都是政企项目,公司各系统业务繁多数据库表设计复杂,多是业务逻辑庞大使用技术也都不算新,算是j2ee时代的遗留产物,鉴于现在springboot、微服务、中间件等等风生水起,又因本人对商城系统情有独钟,因此打算先用springboot搭建一个商城系统,刚好发现了newbee-mall项目,就在此项目的基础上添加了一些自己没有接触过的新功能,一起进步。

  1. 后台管理模块添加了优惠卷、秒杀管理,统计分析
  2. 前台添加了秒杀专区,可以购买秒杀商品
  3. 前台添加了优惠卷领取页面,再订单结算页面可以选择优惠卷使用
  4. 支付时添加了支付宝沙箱支付
  5. 本项目秉持原作者简单易用的原则,代码书写清晰,注释完整,便于新人理解,快速上手
  6. 本项目源码

系统升级

本次升级主要在原有秒杀功能的基础上进行了完善,秒杀优化如下:

  1. 秒杀页面静态化
  2. 添加了秒杀接口限流,基于springAOP实现
  3. 添加了秒杀接口防止重复提交,基于spring拦截器实现
  4. 使用redis-set数据结构判断用户是否买过秒杀商品
  5. 使用redis配合lua脚本进行原子自减,判断商品缓存库存是否大于0
  6. 获取商品缓存,判断秒杀商品是否再有效期内
  7. 执行执行存储过程(减库存 + 记录购买行为)
  8. 使用redis-set数据结构记录购买过的用户
  9. 返回用户秒杀成功VO
  10. 下单后启用秒杀订单5分钟未支付超期任务
  11. 订单5分钟内为支付则自动取消订单并回退库存

在线地址:newebee-mall

分类管理 分类管理 会员管理 会员管理
优惠劵管理 优惠劵管理 商品管理 商品管理
秒杀管理 订单管理 订单管理

秒杀专区

秒杀专区为用户展示了后台设置的秒杀商品,在秒杀有效期内可以进行商品秒杀操作. 秒杀接口使用了接口限流、Redis以及储存过程提高秒杀操作的tps




优惠劵领取

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


商城15天交易额统计

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

感谢newbee-mall 项目原作者十三提供的基础项目支持

参考资料

秒杀架构模型设计
Java高并发秒杀API(慕课网)
⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析

相关文章: