From 39976c1368679bd70a36353da33870ee1f56f27d Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Tue, 27 Jan 2026 20:19:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=BC=98=E6=83=A0=E5=88=B8=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E8=A1=A8=EF=BC=8C=E9=A2=86=E5=8F=96=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/810pjcloudx_wallet_act.sql | 74 ++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/db/810pjcloudx_wallet_act.sql b/db/810pjcloudx_wallet_act.sql index f5a234a9b..fd86effd1 100644 --- a/db/810pjcloudx_wallet_act.sql +++ b/db/810pjcloudx_wallet_act.sql @@ -41,4 +41,76 @@ CREATE TABLE act_cancel_item del_flag char(1) COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '删除标记', tenant_id bigint DEFAULT NULL COMMENT '租户ID', PRIMARY KEY (id) -) ENGINE = InnoDB COMMENT ='核销活动项'; \ No newline at end of file +) 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 ='优惠券领取记录表'; \ No newline at end of file