1. 程式人生 > 實用技巧 >優惠券資料庫設計

優惠券資料庫設計

CREATE TABLE `coupon` (
 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `title` varchar(64) NOT NULL COMMENT '優惠券標題(有圖片則顯示圖片):無門檻50元優惠券 | 單品最高減2000元',
 `icon` varchar(128) DEFAULT NULL COMMENT '圖片',
 `used` int(2) NOT NULL COMMENT '可用於:10店鋪優惠券 11新人店鋪券 20商品優惠券 30類目優惠券 60平臺優惠券 61新人平臺券',
 `type` int(2) NOT NULL DEFAULT '1' COMMENT '1滿減券 2疊加滿減券 3無門檻券(需要限制大小)',
 `with_special` int(2) NOT NULL DEFAULT '2' COMMENT '1可用於特價商品 2不能 預設不能(商品優惠卷除外)',
 `with_sn` varchar(36) DEFAULT NULL COMMENT '店鋪或商品流水號',
 `with_amount` bigint(20) NOT NULL DEFAULT '0' COMMENT '滿多少金額',
 `used_amount` bigint(20) NOT NULL COMMENT '用券金額',
 `quota` int(10) NOT NULL DEFAULT '1' COMMENT '配額:發券數量',
 `take_count` int(10) NOT NULL DEFAULT '0' COMMENT '已領取的優惠券數量',
 `used_count` int(10) NOT NULL DEFAULT '0' COMMENT '已使用的優惠券數量',
 `start_time` datetime NOT NULL COMMENT '發放開始時間',
 `end_time` datetime NOT NULL COMMENT '發放結束時間',
 `valid_type` int(1) NOT NULL DEFAULT '2' COMMENT '時效:1絕對時效(領取後XXX-XXX時間段有效) 2相對時效(領取後N天有效)',
 `valid_start_time` datetime DEFAULT NULL COMMENT '使用開始時間',
 `valid_end_time` datetime DEFAULT NULL COMMENT '使用結束時間',
 `valid_days` int(3) NOT NULL DEFAULT '1' COMMENT '自領取之日起有效天數',
 `status` int(1) NOT NULL DEFAULT '1' COMMENT '1生效 2失效 3已結束',
 `create_user` bigint(20) NOT NULL,
 `create_time` datetime NOT NULL COMMENT '建立時間',
 `update_user` bigint(20) NOT NULL,
 `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='優惠券表';