1.数据库设计
商品表
订单表(只包含用户id,商品id,订单详细表id)
订单详细表
秒杀商品表(活动太多,商品表将很难维护,单独秒杀商品表)
2.前端实现
2.1页面设计
商品列表页
商品详情页
订单详情页
2.2 前端搭建
1.编写Dao 层
goodsDao:实现在数据库中商品列表查询,商品的查询,商品库存减少函数
OrderDao:实现秒杀订单的查询,秒杀订单的插入
2.编写Service层
GoodService:实现获取商品的列表信息,商品详细信息
OrderService:实现秒杀订单的查询,秒杀订单的创建
MiaoshaService:事务操作,库存减少,下订单,写入秒杀订单
3.编写Controller 层
实现不同业务逻辑对应下的商品列表,详情获取,商品秒杀
2.3 业务逻辑
商品列表页:首先获得用户信息,如果用户信息为空代表尚未登陆。点击具体商品,传入商品ID,进入商品详情页
商品详情页时候:获取商品信息和秒杀商品信息(秒杀开始时间,结束时间,秒杀价格)并且添加秒杀的状态【尚未开始,秒杀中,秒杀结束】到该页面,隐藏域中添加商品Id(如可秒杀开始,通过商品ID传入服务端进行秒杀)
注意:秒杀未开始或则结束无法进行秒杀按钮操作
同时,秒杀未开始,应该显示还剩下多少秒,由客户端实现功能,避免造成服务器端压力,可能会出现客户端和服务端时间不一致情况。【通过脚本编写回调函数实现秒数减少和显示,动态的进行秒杀状态的切换 故无论是否秒杀处于何种状态,都应该获取秒杀剩余时间(不应该仅仅是秒杀未开始时候才去获取),所以用隐藏域保存】