标签:收货地址 收货 mobile primary 范围 实现 收件人 审核 res
秒杀就是抢购的功能,会有很多人抢购,所以要求扛得住高并发
秒杀的商品信息存入Redis缓存(因为访问数据量大,所以不直接对数据库进行操作)
秒杀商品存入Redis来提升访问速度。
1.秒杀列表数据
2.秒杀详情页数据
spring定时任务-定时将秒杀商品存入Redis中。
定时将秒杀商品存入Redis缓存
秒杀商品频道页实现-秒杀商品列表页。(从Redis里面查数据)
秒杀商品详情页实现(从Redis里面取数据)
下单实现(普通下单,订单添加到数据库,对并发支持不好,容易造成雪崩)
多线程异步抢单实现-队列削峰(普通下单在并发上不靠谱,所以要队列削峰)
秒杀就是平台上的商品低价出售的一些抢购活动。(如:淘宝的双11)
所以访问的人数很多 ,对服务器压力大,所以需要实现高并发。
需求:
(1)录入秒杀商品数据,主要包括:商品标题、原价、秒杀价、商品图片、介绍、秒杀时段等信息
(2)秒杀频道首页列出秒杀商品(进行中的)点击秒杀商品图片跳转到秒杀商品详细页。
(3)商品详细页显示秒杀商品信息,点击立即抢购实现秒杀下单,下单时扣减库存。当库存为0或不在活动期范围内时无法秒杀。
(4)秒杀下单成功,直接跳转到支付页面(微信扫码),支付成功,跳转到成功页,填写收货地址、电话、收件人等信息,完成订单。
(5)当用户秒杀下单5分钟内未支付,取消预订单,调用微信支付的关闭订单接口,恢复库存。
秒杀商品表(商品信息)
CREATE TABLE `tb_seckill_goods` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`sup_id` bigint(20) DEFAULT NULL COMMENT ‘spu ID‘,
`sku_id` bigint(20) DEFAULT NULL COMMENT ‘sku ID‘,
`name` varchar(100) DEFAULT NULL COMMENT ‘标题‘,
`small_pic` varchar(150) DEFAULT NULL COMMENT ‘商品图片‘,
`price` decimal(10,2) DEFAULT NULL COMMENT ‘原价格‘,
`cost_price` decimal(10,2) DEFAULT NULL COMMENT ‘秒杀价格‘,
`create_time` datetime DEFAULT NULL COMMENT ‘添加日期‘,
`check_time` datetime DEFAULT NULL COMMENT ‘审核日期‘,
`status` char(1) DEFAULT NULL COMMENT ‘审核状态,0未审核,1审核通过,2审核不通过‘,
`start_time` datetime DEFAULT NULL COMMENT ‘开始时间‘,
`end_time` datetime DEFAULT NULL COMMENT ‘结束时间‘,
`num` int(11) DEFAULT NULL COMMENT ‘秒杀商品数‘,
`stock_count` int(11) DEFAULT NULL COMMENT ‘剩余库存数‘,
`introduction` varchar(2000) DEFAULT NULL COMMENT ‘描述‘,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
秒杀订单表(订单信息)
CREATE TABLE `tb_seckill_order` (
`id` bigint(20) NOT NULL COMMENT ‘主键‘,
`seckill_id` bigint(20) DEFAULT NULL COMMENT ‘秒杀商品ID‘,
`money` decimal(10,2) DEFAULT NULL COMMENT ‘支付金额‘,
`user_id` varchar(50) DEFAULT NULL COMMENT ‘用户‘,
`create_time` datetime DEFAULT NULL COMMENT ‘创建时间‘,
`pay_time` datetime DEFAULT NULL COMMENT ‘支付时间‘,
`status` char(1) DEFAULT NULL COMMENT ‘状态,0未支付,1已支付‘,
`receiver_address` varchar(200) DEFAULT NULL COMMENT ‘收货人地址‘,
`receiver_mobile` varchar(20) DEFAULT NULL COMMENT ‘收货人电话‘,
`receiver` varchar(20) DEFAULT NULL COMMENT ‘收货人‘,
`transaction_id` varchar(30) DEFAULT NULL COMMENT ‘交易流水‘,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
标签:收货地址 收货 mobile primary 范围 实现 收件人 审核 res
原文地址:https://www.cnblogs.com/chawaner/p/14402345.html