在电商项目中,为了鼓励客户多购买商品,经常发放优惠卷,为了给客户心里带来紧迫感,优惠卷也是有时间限制的,超过限制这张优惠卷将自动作废。
1.1. 表结构设计
为了实现这个功能,数据库一般有一张优惠卷的表,这表里面有使用时间,过期时间、优惠卷金额等字段,一般的表结构如下
CREATE TABLE enjoy_coupon (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
money int(255) DEFAULT NULL,
crate_time datetime DEFAULT NULL,
expire_time datetime DEFAULT NULL,
statue int(1) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
其中状态字段是个枚举,有生效(0),失效(1),已经使用(2)等取值类型。
1.2. 常见两种实现思路
对于程序来说,对于优惠卷这功能要实现的就是超时自动失效的功能,这功能也不难实现,主要实现方式有两种,一种是使用定时任务的方式,另外一种就是使用消息通知