Files
pj_service_cloud/db/810pjcloudx_wallet_act.sql
2026-04-14 18:32:51 +08:00

117 lines
7.6 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',
parent_act_id BIGINT(20) DEFAULT NULL 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 ='优惠券领取记录表';