-- 优惠券表(代金券、折扣券)
DROP TABLE IF EXISTS `coupon`;
CREATE TABLE `coupon` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '优惠券ID',
`discount_type` tinyint(1) NOT NULL COMMENT '优惠券类型 1-代金券 2-折扣券',
`intensity` decimal(10, 2) UNSIGNED NOT NULL COMMENT '优惠力度,如果是代金券,则记录实际代金券金额,如果是折扣券,则记录百分比',
`use_condition` decimal(10, 2) UNSIGNED NOT NULL COMMENT '订单满多少钱可以使用',
`max_num` int(11) NOT NULL COMMENT '优惠券发放最大数量',
`remaining_count` int(11) UNSIGNED NOT NULL COMMENT '该优惠券当前剩余数量',
`start_date` int(11) unsigned NOT NULL COMMENT '起始日期,记录时间戳',
`end_date` int(11) unsigned NOT NULL COMMENT '截止日期,记录时间戳',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已被删除 0-未被删除 1-已删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COMMENT = '优惠券表(代金券、折扣券)';
-- 优惠券适用商品关联表
DROP TABLE IF EXISTS `coupon_sku_relation`;
CREATE TABLE `user_coupon_record` (
`coupon_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '优惠券ID,关联coupon表',
`sku_sn` varchar(256) NOT NULL COMMENT '商品唯一标识sn,关联product_sku表',
UNIQUE KEY (`coupon_id`, `sku_sn`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COMMENT = '用户领取优惠券记录表';
-- 用户领取优惠券记录表
DROP TABLE IF EXISTS `user_coupon_record`;
CREATE TABLE `user_coupon_record` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`coupon_id` int(10) UNSIGNED NOT NULL COMMENT '优惠券ID,关联coupon表',
`user_id` int(10) UNSIGNED NOT NULL COMMENT '用户ID,关联user表',
`coupon_status` tinyint unsigned NOT NULL COMMENT '优惠券状态 1-未使用 2-已使用',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否已被删除 0-未被删除 1-已删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COMMENT = '用户领取优惠券记录表';