05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)

目录

  • 秒杀按钮
      • 代码实现:
        • vue的JS实现:
  • 秒杀请求
    • 需求:
    • 代码
      • 前端
      • 后端
        • Seckill-api
          • domain
        • Seckill-server
          • WebConfig
        • 1、秒杀请求判断
          • controller
        • 2、重复下单判断
          • Mapper
          • Service 接口
          • Impl 实现类
          • controller
        • 3、库存判断
        • 4、秒杀涉及到的操作
          • _01、减库存
          • _02、创建订单对象并保存
          • _03、用户下单次数数据存储
      • 出现的问题:
      • 订单编号生成使用雪花算法的代码

秒杀按钮

需求:点击抢购的按钮,在未规定的时间段内不可点击
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第1张图片

代码实现:

vue的JS实现:

在vue的js中 , prop 是父组件用来传递数据的一个自定义属性

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第2张图片

秒杀请求

需求:

点击立即秒杀后,从前端发送请求到后端接受的一系列判断

代码

前端

携带数据发送到后端
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第3张图片

后端

Seckill-api
domain

添加两个实体类,秒杀订单信息类和订单详情信息类

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第4张图片

Seckill-server
WebConfig

把自定义参数解析器的配置类拷贝一份到秒杀服务里面。
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第5张图片

1、秒杀请求判断
controller

开始对秒杀的操作进行一系列的判断:是否登录、数据库是否有该商品id、后端再次判断秒杀时间是否已经开始
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第6张图片

2、重复下单判断

判断用户是否重复下单,如果重复下单,提醒不要重复下单

Mapper

先写个Mapper,写数据库查询是否重复下单的语句
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第7张图片

Service 接口

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第8张图片

Impl 实现类

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第9张图片

controller

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第10张图片

3、库存判断

判断是否有库存,如果没有提醒库存不足
05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第11张图片

4、秒杀涉及到的操作
_01、减库存

重新建一个秒杀用的service业务层来做秒杀的业务逻辑判断,秒杀的数据会放在t_order_info 订单信息表里面

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第12张图片

创建一个service接口,专门用来处理秒杀订单信息的业务逻辑

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第13张图片
SeckillOrderInfoServiceImpl

在实现里面,因为减库存是减 t_seckill-goods 表的数据,所以得把减库存的实际业务逻辑写在ISeckillGoodService接口那边

05、SpringCloud -- 秒杀按钮、秒杀请求流程(各种请求到后台的判断、减库存、下单数据和次数保存)_第14张图片

ISeckillGoodService接口,写减库存的实际业务逻辑方法的接口

你可能感兴趣的:(Spring,Cloud,spring,cloud,spring,后端)