业务逻辑层
- 查看所有秒杀商品列表
- 查看给定id的秒杀商品
- 判断是否可以参加秒杀
- 执行秒杀
数据传输层
- 判断是否可以参加秒杀:如果可以,返回秒杀标识符为true以及md5;如果不可以秒杀,返回秒杀标识符为false以及不能秒杀的原因
- 执行秒杀,返回秒杀结果:如果秒杀成功,返回秒杀成功状态以及商品信息;如果秒杀失败,返回秒杀失败状态以及失败原因
这些数据都需要和上一层进行交互
异常类
可以接受的有两种异常:
- 重复秒杀异常
- 秒杀关闭异常(库存不足)
这两种异常都不希望导致程序意外中断,所以需要对这两种异常进行处理
枚举类型:存储常量的键值对
- 只有RuntimeException支持事务回滚
- mysql的Innodb的存储引擎支持事务回滚,默认的MyISAM不支持