废话不多说了,直接上表和DAO层,service层的设计吧
一、定义两张表,一张是秒杀产品表:
秒杀产品表
一张秒杀信息表:用于存放秒杀成功后的信息
当然这里都是简化过后的,秒杀成功表只是记录了一下秒杀成功的产品id和用户的手机号,注意这里重点在于主键是一个联合主键,seckiilId和userPhone是联合主键,这样的好处是对于同一个产品同一个用户不会插入两条,防止并发导致的一个用户抢同一个产品多次。
二、接下来就是对数据库的操作
减库存
秒杀的时候,首先要在秒杀产品表中减去一条库存,针对相应的seckillId,然后在成功表里面插入一条成功的信息
向秒杀哦成功表插入数据
这里就是对数据的操作,当然service层的事务是非常重要的,service中方法如下
这样的话,除了controller没有写,主要思路基本上就完成了,大伙有什么觉得不好的地方,可以关注,进行讨论