新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

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

简介

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

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

系统升级

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

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

在线截图

分类管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

会员管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

优惠劵管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

商品管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

秒杀管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

订单管理

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
秒杀专区

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

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
优惠劵领取

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

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀
商城15天交易额统计

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

新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

感谢

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

参考资料

秒杀架构模型设计

Java高并发秒杀API(慕课网)

⭐⭐⭐⭐秒杀系统设计与实现.互联网工程师进阶与分析🙋🐓

newbee-mall plus系列文章

newbee-mall plus简介

推荐一下本人的后台权限管理系统,集成了消息通知,任务调度,代码生成等常用功能,易于上手,学习,使用二次开发

Original: https://www.cnblogs.com/wayn111/p/14277835.html
Author: wayn111
Title: 新蜂商城增强版来了,完善秒杀功能,添加秒杀单超期未支付任务,支持万人秒杀

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610867/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • IDEA 使用插件连接远程 Docker (Dockerfile)

    IDEA 使用插件连接远程 Docker 测试地址 https://github.com/Rain-with-me/JavaStudyCode/tree/main/2-spring…

    Java 2023年6月16日
    068
  • Springboot的监控Springboot Actuator

    1、Springboot版本2.3.9,引入Actuator的maven依赖,如下所示: 1 "1.0" encoding="UTF-8"?…

    Java 2023年5月30日
    097
  • java_包装类

    1.基本数据类型对于的包装类型如下: 2.Object类: 1.在 Java 中所有的类都有一个公共的父类 Object,一个类只要没有明显的继承一个类,则肯定是 Object 的…

    Java 2023年6月5日
    099
  • MQTT协议简记

    MQTT – MQ Telemetry Transport 轻量级的 machine-to-machine 通信协议。 publish/subscribe模式。 基于T…

    Java 2023年5月30日
    093
  • Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)

    技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用。单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分…

    Java 2023年5月30日
    090
  • Nginx服务器性能优化与安全配置实践指南

    转载自:https://www.bilibili.com/read/cv16151784?spm_id_from=333.999.0.0 1.引言1.1 目的 为了更好的指导部署与…

    Java 2023年5月30日
    076
  • 机器学习(6)K近邻算法

    k-近邻,通过离你最近的来判断你的类别 例子: 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近的样本中大多数属于某一类别),则该样本属于这个类别 K近邻需要做标准化…

    Java 2023年6月8日
    078
  • JS从入门到入狱(bushi)

    涉及到的链接: W3school-JavaScript教程 JavaScript简介 文档对象模型 (DOM) JavaScript BOM(浏览器对象模型) JS面向对象之原型 …

    Java 2023年6月16日
    098
  • 单个表上亿行数据的主键、索引设计,及分页查询

    一,概述 一般而言,我们对关系型数据库系统,进行表结构设计时,会按数据的种类,进行分类,一般有如下种类: 1)主数据,其数据量基本稳定,不随时间而线性增长。比如,分公司,产品,经销…

    Java 2023年6月9日
    080
  • JAVA基础学习第三天!

    精华笔记: 1.运算符: -算术:+、-、*、/、%、++、– -关系:>、 -逻辑:&&、||、! -赋值:=、+=、-=、*=、/=、%= -…

    Java 2023年6月13日
    066
  • 译文《全新首发JDK 16全部新特性》

    封面:洛小汐 译者:潘潘 JDK 8 的新特性都还没摸透,JDK 16 的新特性就提着刀来了。 郑重申明:第一次冒险翻译专业领域的文献,可想而知,效果特别糟糕。一般翻译文献特别是 …

    Java 2023年6月13日
    052
  • 如何搭建一个WEB服务器项目(四)—— 实现安卓端图片加载

    观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟。欢迎各位大佬来评论区提出问题或者是指出错误,分享宝贵经验。先谢谢了( ̄▽ ̄…

    Java 2023年6月8日
    0110
  • Linux(CentOS)安装MinIo,详细教程,附防火墙端口开放操作

    Linux安装MinIo(已配置开机重启) 1,准备安装目录和文件 系统:CentOs #进入安装目录 cd /home/minio #在线下载二进制文件 wget https:/…

    Java 2023年6月15日
    068
  • 虚拟机安装红帽系统(rehl7.2)

    1、创建虚拟机 选择典型,下一步,安装程序光盘映像文件选择下载的红帽iso(64位下载链接:https://access.cdn.redhat.com/content/origin…

    Java 2023年6月5日
    0106
  • CSharp: State Pattern

    csharp;gutter:true; /// ///empty base class containing State methods to override /// State…

    Java 2023年6月16日
    080
  • Java8的Lambda表达式简单介绍

    Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。 JDK 也提供…

    Java 2023年5月29日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球