116 lines
7.5 KiB
SQL
116 lines
7.5 KiB
SQL
create table act_cancel
|
|
(
|
|
id BIGINT(19) auto_increment comment '活动项id'
|
|
primary key,
|
|
mch_id BIGINT(19) not null comment '活动商户id',
|
|
notice_id BIGINT(19) not null comment '公告id',
|
|
active_org_price INT(10) null comment '活动原价',
|
|
active_cancel_price INT(10) not null comment '活动核销价',
|
|
start_time DATETIME null comment '开始时间',
|
|
expire_time DATETIME not null comment '到期时间',
|
|
act_status CHAR(32) not null comment '活动状态(1:正常 2:关闭)',
|
|
act_title CHAR(32) not null comment '活动标题',
|
|
act_content CHAR(32) null comment '活动内容',
|
|
create_by VARCHAR(64) null comment '创建人',
|
|
create_time DATETIME null comment '创建时间',
|
|
update_by VARCHAR(64) null comment '修改人',
|
|
update_time DATETIME null comment '修改时间',
|
|
del_flag CHAR default '0' null comment '删除标记',
|
|
tenant_id BIGINT(19) null comment '租户ID'
|
|
);
|
|
|
|
-- ----------------------------
|
|
-- Table structure for act_cancel_item
|
|
-- ----------------------------
|
|
DROP TABLE IF EXISTS act_cancel_item;
|
|
CREATE TABLE act_cancel_item
|
|
(
|
|
id bigint NOT NULL AUTO_INCREMENT COMMENT '活动项id',
|
|
act_id bigint NOT NULL COMMENT '活动id',
|
|
mch_id bigint NOT NULL COMMENT '活动商户id',
|
|
receiver_user_id bigint NOT NULL COMMENT '领取人用户id',
|
|
receiver_time datetime NOT NULL COMMENT '领取时间',
|
|
act_status char(32) NOT NULL COMMENT '活动状态(1:未核销 2:已核销)',
|
|
cancel_user_id bigint DEFAULT NULL COMMENT '核销人用户id',
|
|
cancel_time datetime DEFAULT NULL COMMENT '核销时间',
|
|
expire_time datetime DEFAULT NULL COMMENT '过期时间',
|
|
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
|
|
create_time datetime DEFAULT NULL COMMENT '创建时间',
|
|
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
|
|
update_time datetime DEFAULT NULL COMMENT '修改时间',
|
|
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
|
|
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
|
PRIMARY KEY (id)
|
|
) ENGINE = InnoDB COMMENT ='核销活动项';
|
|
|
|
DROP TABLE IF EXISTS act_coupon;
|
|
CREATE TABLE act_coupon
|
|
(
|
|
id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '优惠券ID',
|
|
name VARCHAR(128) NOT NULL COMMENT '优惠券名称',
|
|
type VARCHAR(64) NOT NULL COMMENT '优惠券类型 (1:满减券 2:折扣券 3:立减券 4:兑换券)',
|
|
face_value INT DEFAULT 0 COMMENT '面额/折扣 (满减/立减单位:分, 折扣单位:百分比)',
|
|
min_point INT DEFAULT 0 COMMENT '使用门槛 (满多少分可用, 0表示无门槛)',
|
|
total_count INT NOT NULL DEFAULT 0 COMMENT '发行总量 (-1表示不限量)',
|
|
surplus_count INT NOT NULL DEFAULT 0 COMMENT '剩余数量',
|
|
limit_count INT DEFAULT 1 COMMENT '每人限领数量',
|
|
limit_type VARCHAR(32) DEFAULT NULL COMMENT '限领类型 (once:活动期间一次 day:每天 week:每周 month:每月 year:每年)',
|
|
valid_type VARCHAR(32) NOT NULL COMMENT '有效期类型 (1:固定日期 2:领取后生效)',
|
|
valid_start_time DATETIME DEFAULT NULL COMMENT '有效期开始时间',
|
|
valid_end_time DATETIME DEFAULT NULL COMMENT '有效期结束时间',
|
|
valid_days INT DEFAULT 0 COMMENT '领取后有效天数',
|
|
use_scope_type VARCHAR(32) DEFAULT 0 COMMENT '适用范围 (0:全场通用 1:指定商户 2:指定分类 3:指定商品)',
|
|
scope_id VARCHAR(2048) DEFAULT NULL COMMENT '适用范围ID集合 (商户ID/分类ID/商品ID, 逗号分隔)',
|
|
status VARCHAR(32) DEFAULT 0 COMMENT '状态 (0:草稿 1:进行中 2:已结束 3:已作废)',
|
|
description VARCHAR(512) DEFAULT NULL COMMENT '使用说明',
|
|
|
|
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
|
|
create_time datetime DEFAULT NULL COMMENT '创建时间',
|
|
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
|
|
update_time datetime DEFAULT NULL COMMENT '修改时间',
|
|
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
|
|
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
|
PRIMARY KEY (id),
|
|
KEY idx_status (status),
|
|
KEY idx_valid_end_time (valid_end_time)
|
|
) ENGINE = InnoDB COMMENT ='优惠券活动';
|
|
|
|
DROP TABLE IF EXISTS act_coupon_record;
|
|
CREATE TABLE act_coupon_record
|
|
(
|
|
id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '领取记录ID',
|
|
coupon_id BIGINT(20) NOT NULL COMMENT '优惠券ID',
|
|
user_id BIGINT(20) NOT NULL COMMENT '用户ID',
|
|
user_name VARCHAR(64) DEFAULT NULL COMMENT '用户名称',
|
|
coupon_code VARCHAR(64) NOT NULL COMMENT '券码(唯一标识)',
|
|
status VARCHAR(32) NOT NULL DEFAULT '0' COMMENT '使用状态 (0:未使用 1:已使用 2:已过期 3:已作废)',
|
|
|
|
-- 冗余优惠券快照信息,防止优惠券修改后数据不一致
|
|
coupon_name VARCHAR(128) NOT NULL COMMENT '优惠券名称',
|
|
coupon_type VARCHAR(64) NOT NULL COMMENT '优惠券类型',
|
|
face_value INT DEFAULT 0 COMMENT '面额/折扣',
|
|
min_point INT DEFAULT 0 COMMENT '使用门槛',
|
|
|
|
-- 有效期
|
|
start_time DATETIME NOT NULL COMMENT '有效开始时间',
|
|
end_time DATETIME NOT NULL COMMENT '有效结束时间',
|
|
|
|
-- 使用信息
|
|
use_time DATETIME DEFAULT NULL COMMENT '使用时间',
|
|
order_id VARCHAR(64) DEFAULT NULL COMMENT '关联订单号',
|
|
use_amount INT DEFAULT 0 COMMENT '抵扣金额(分)',
|
|
|
|
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
|
|
create_time datetime DEFAULT NULL COMMENT '领取时间',
|
|
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
|
|
update_time datetime DEFAULT NULL COMMENT '修改时间',
|
|
del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记',
|
|
tenant_id bigint DEFAULT NULL COMMENT '租户ID',
|
|
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_coupon_code (coupon_code),
|
|
KEY idx_user_id (user_id),
|
|
KEY idx_coupon_id (coupon_id),
|
|
KEY idx_end_time (end_time),
|
|
KEY idx_status (status)
|
|
) ENGINE = InnoDB COMMENT ='优惠券领取记录表'; |