120 lines
4.8 KiB
SQL
120 lines
4.8 KiB
SQL
-- ============================================
|
|
-- SPA管理系统 - 营销优惠券系统SQL
|
|
-- ============================================
|
|
-- 版本: v1.0
|
|
-- 创建时间: 2025-12-30
|
|
-- 数据库: MySQL 8.0+
|
|
-- 字符集: utf8mb4
|
|
-- ============================================
|
|
|
|
SET NAMES utf8mb4;
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- ============================================
|
|
-- 营销优惠券相关表
|
|
-- ============================================
|
|
|
|
-- 1. 优惠券模板表
|
|
DROP TABLE IF EXISTS `spa_coupon_template`;
|
|
CREATE TABLE `spa_coupon_template` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`created_at` datetime(3) DEFAULT NULL,
|
|
`updated_at` datetime(3) DEFAULT NULL,
|
|
`deleted_at` datetime(3) DEFAULT NULL,
|
|
|
|
`template_no` varchar(50) NOT NULL COMMENT '模板编号',
|
|
`name` varchar(100) NOT NULL COMMENT '优惠券名称',
|
|
`description` varchar(500) DEFAULT NULL COMMENT '使用说明',
|
|
|
|
`coupon_type` tinyint NOT NULL COMMENT '优惠券类型 1满减券 2折扣券 3代金券 4体验券',
|
|
`discount_type` tinyint NOT NULL COMMENT '优惠方式 1固定金额 2折扣比例',
|
|
`discount_value` decimal(10,2) NOT NULL COMMENT '优惠值(金额或折扣)',
|
|
|
|
`min_amount` decimal(10,2) DEFAULT 0.00 COMMENT '最低消费金额',
|
|
`max_discount` decimal(10,2) DEFAULT NULL COMMENT '最高优惠金额(折扣券)',
|
|
|
|
`total_count` int DEFAULT 0 COMMENT '发行总量 0不限',
|
|
`received_count` int DEFAULT 0 COMMENT '已领取数量',
|
|
`used_count` int DEFAULT 0 COMMENT '已使用数量',
|
|
|
|
`valid_days` int DEFAULT 0 COMMENT '有效天数 0表示固定时间',
|
|
`valid_start_time` datetime DEFAULT NULL COMMENT '有效开始时间',
|
|
`valid_end_time` datetime DEFAULT NULL COMMENT '有效结束时间',
|
|
|
|
`receive_limit` int DEFAULT 1 COMMENT '每人限领数量',
|
|
`use_limit` int DEFAULT 1 COMMENT '每单可用数量',
|
|
|
|
`applicable_services` json DEFAULT NULL COMMENT '适用服务项目ID数组',
|
|
`applicable_member_levels` json DEFAULT NULL COMMENT '适用会员等级数组',
|
|
|
|
`status` tinyint DEFAULT 1 COMMENT '状态 1启用 2停用',
|
|
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_template_no` (`template_no`),
|
|
KEY `idx_deleted_at` (`deleted_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='优惠券模板表';
|
|
|
|
-- 2. 用户优惠券表
|
|
DROP TABLE IF EXISTS `spa_customer_coupon`;
|
|
CREATE TABLE `spa_customer_coupon` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`created_at` datetime(3) DEFAULT NULL,
|
|
`updated_at` datetime(3) DEFAULT NULL,
|
|
`deleted_at` datetime(3) DEFAULT NULL,
|
|
|
|
`coupon_no` varchar(50) NOT NULL COMMENT '优惠券编号',
|
|
`template_id` bigint unsigned NOT NULL COMMENT '模板ID',
|
|
`customer_id` bigint unsigned NOT NULL COMMENT '客户ID',
|
|
|
|
`coupon_name` varchar(100) NOT NULL COMMENT '优惠券名称',
|
|
`coupon_type` tinyint NOT NULL COMMENT '优惠券类型',
|
|
`discount_type` tinyint NOT NULL COMMENT '优惠方式',
|
|
`discount_value` decimal(10,2) NOT NULL COMMENT '优惠值',
|
|
`min_amount` decimal(10,2) DEFAULT 0.00 COMMENT '最低消费',
|
|
|
|
`receive_time` datetime NOT NULL COMMENT '领取时间',
|
|
`valid_start_time` datetime NOT NULL COMMENT '有效开始时间',
|
|
`valid_end_time` datetime NOT NULL COMMENT '有效结束时间',
|
|
|
|
`status` tinyint DEFAULT 1 COMMENT '状态 1未使用 2已使用 3已过期 4已作废',
|
|
`use_time` datetime DEFAULT NULL COMMENT '使用时间',
|
|
`order_id` bigint unsigned DEFAULT NULL COMMENT '使用订单ID',
|
|
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_coupon_no` (`coupon_no`),
|
|
KEY `idx_customer_id` (`customer_id`),
|
|
KEY `idx_template_id` (`template_id`),
|
|
KEY `idx_deleted_at` (`deleted_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户优惠券表';
|
|
|
|
-- 3. 促销活动表
|
|
DROP TABLE IF EXISTS `spa_promotion`;
|
|
CREATE TABLE `spa_promotion` (
|
|
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
|
|
`created_at` datetime(3) DEFAULT NULL,
|
|
`updated_at` datetime(3) DEFAULT NULL,
|
|
`deleted_at` datetime(3) DEFAULT NULL,
|
|
|
|
`promotion_no` varchar(50) NOT NULL COMMENT '活动编号',
|
|
`name` varchar(100) NOT NULL COMMENT '活动名称',
|
|
`description` text COMMENT '活动描述',
|
|
`cover_image` varchar(500) DEFAULT NULL COMMENT '活动封面',
|
|
|
|
`promotion_type` tinyint NOT NULL COMMENT '活动类型 1满减 2折扣 3赠送 4积分翻倍',
|
|
|
|
`start_time` datetime NOT NULL COMMENT '开始时间',
|
|
`end_time` datetime NOT NULL COMMENT '结束时间',
|
|
|
|
`applicable_services` json DEFAULT NULL COMMENT '适用服务JSON',
|
|
`promotion_rules` json DEFAULT NULL COMMENT '促销规则JSON',
|
|
|
|
`status` tinyint DEFAULT 1 COMMENT '状态 1未开始 2进行中 3已结束 4已停用',
|
|
`sort` int DEFAULT 0 COMMENT '排序',
|
|
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `idx_promotion_no` (`promotion_no`),
|
|
KEY `idx_deleted_at` (`deleted_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='促销活动表';
|
|
|
|
SET FOREIGN_KEY_CHECKS = 1;
|