A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

课程目标
目标 1:能够说出秒杀实现思路
目标 2:实现秒杀频道首页功能
目标 3:实现秒杀商品详细页功能
目标 4:实现秒杀下单功能
目标 5:实现秒杀支付功能
1.秒杀业务分析
1.1 需求分析
所谓“秒杀”,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购
的一种销售方式。通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动。由于商 品价格低廉,往往一上架就被抢购一空,有时只用一秒钟。
秒杀商品通常有两种限制:库存限制、时间限制。
需求:
(1)商家提交秒杀商品申请,录入秒杀商品数据,主要包括:商品标题、原价、秒杀 价、商品图片、介绍等信息
(2)运营商审核秒杀申请
(3)秒杀频道首页列出秒杀商品(进行中的)点击秒杀商品图片跳转到秒杀商品详细 页。
(4)商品详细页显示秒杀商品信息,点击立即抢购实现秒杀下单,下单时扣减库存。 当库存为 0 或不在活动期范围内时无法秒杀。
(5)秒杀下单成功,直接跳转到支付页面(微信扫码),支付成功,跳转到成功页, 填写收货地址、电话、收件人等信息,完成订单。
(6)当用户秒杀下单 5 分钟内未支付,取消预订单,调用微信支付的关闭订单接口, 恢复库存。
数据库表分析

秒杀实现思路
秒杀技术实现核心思想是运用缓存减少数据库瞬间的访问压力!读取商品详细信息时运 用缓存,当用户点击抢购时减少缓存中的库存数量,当库存数为 0 时或活动期结束时,同步 到数据库。 产生的秒杀预订单也不会立刻写到数据库中,而是先写到缓存,当用户付款成 功后再写入数据库。
1.4 工程搭建与准备
1.4.1 工程模块搭建
(1)创建秒杀服务接口模块 pinyougou-seckill-interface ,依赖 pinyougou-pojo
(2)创建秒杀服务模块 pinyougou-seckill-service (war),pom.xml 引入依赖参见其它服务工

程,依赖 pinyougou-seckill-interface , Tomcat7 插件运行端口为 9009。添加 web.xml、 spring 配置文件参见其它服务工程, dubbox 的端口为 20889。
(3)创建秒杀频道 web 模块 pinyougou-seckill-web(war)  pom.xml 引入依赖参见 cart_web 工程(需添加单点登录和权限控制),依赖 pinyougou-seckill-interface  ,Tomcat7 插件运行端 口为 9109  添加 web.xml、 spring 配置文件参见 cart_web 工程。
将秒杀相关的页面及资源拷贝到此模块。添加 angularJS.


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马