设计卡券表
原创大约 2 分钟
购物券一旦通过审核,就不允许再修改或删除,过期的也不能删除。
这里的过期指的是通过审核之后的过期,已创建
、审核中
或审核不通过
的优惠券不存在过期的问题。
购物券只有在两种情况下才能修改或删除:已创建
或审核不通过
,其余状态下皆不能修改或删除。
因此,综合以上业务规则,优惠券不需要历史表。
-- 购物券表
DROP TABLE IF EXISTS `t_voucher`;
CREATE TABLE `t_voucher` (
`id` BIGINT(20) UNSIGNED NOT NULL COMMENT '购物券编码',
`parvalue` DECIMAL(10, 2) UNSIGNED NOT NULL DEFAULT '0' COMMENT '面值',
`condition` DECIMAL(10, 2) UNSIGNED NOT NULL DEFAULT '0' COMMENT '订单满多少钱可以使用',
`start` DATE NULL DEFAULT NULL COMMENT '起始日期',
`end` DATE NULL DEFAULT NULL COMMENT '截止日期',
`maxnum` INT(11) NOT NULL DEFAULT '0' COMMENT '最大发放数量',
`status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '状态 0:已创建;1:审核中;2:审核不通过;3:审核已通过;4:已发布;5:已过期',
`isdeleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '逻辑删除 0:正常;1:已删除',
`createtime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updatetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT = '购物券表';
-- 客户购物券表
DROP TABLE IF EXISTS `t_voucher_customer`;
CREATE TABLE `t_voucher_customer` (
`id` BIGINT(20) UNSIGNED NOT NULL COMMENT '领取编码',
`voucherid` int(10) UNSIGNED NOT NULL COMMENT '购物券编码',
`customerid` int(10) UNSIGNED NOT NULL COMMENT '客户编码',
`isdeleted` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' COMMENT '逻辑删除 0:正常;1:已删除',
`createtime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updatetime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT = '客户购物券表';
感谢支持
更多内容,请移步《超级个体》。