Files
sionrui/sql/mysql/redeem_code_tables.sql
2026-03-15 15:36:29 +08:00

59 lines
3.2 KiB
SQL

-- ===============================================
-- 兑换码系统建表 SQL
-- 执行此文件前请确保数据库连接正确
-- ===============================================
-- 1. 兑换码表
CREATE TABLE IF NOT EXISTS `muye_redeem_code` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
`code` varchar(32) NOT NULL COMMENT '兑换码',
`code_type` tinyint NOT NULL DEFAULT 1 COMMENT '码类型: 1-单次 2-多次',
`points` int NOT NULL COMMENT '积分数',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '状态: 0-未使用 1-已使用 2-已过期 3-已禁用',
`batch_no` varchar(32) DEFAULT NULL COMMENT '批次号',
`source` varchar(50) DEFAULT NULL COMMENT '来源',
`max_use_count` int NOT NULL DEFAULT 1 COMMENT '最大使用次数',
`used_count` int NOT NULL DEFAULT 0 COMMENT '已使用次数',
`user_id` bigint DEFAULT NULL COMMENT '使用者用户ID',
`used_time` datetime DEFAULT NULL COMMENT '使用时间',
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(64) DEFAULT NULL COMMENT '操作人名称',
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` bit NOT NULL DEFAULT b'0' COMMENT '是否删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_code` (`code`) USING BTREE,
KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
KEY `idx_batch_no` (`batch_no`) USING BTREE,
KEY `idx_status` (`status`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_expire_time` (`expire_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='兑换码表';
-- 2. 兑换记录表
CREATE TABLE IF NOT EXISTS `muye_redeem_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
`user_id` bigint NOT NULL DEFAULT 0 COMMENT '用户编号',
`mobile` varchar(20) NOT NULL DEFAULT '' COMMENT '手机号',
`code_id` bigint NOT NULL DEFAULT 0 COMMENT '兑换码ID',
`code` varchar(32) NOT NULL COMMENT '兑换码',
`points` int NOT NULL DEFAULT 0 COMMENT '获得积分',
`balance_after` int NOT NULL DEFAULT 0 COMMENT '兑换后积分余额',
`source` varchar(50) NOT NULL DEFAULT '' COMMENT '来源',
`source_id` varchar(64) NOT NULL DEFAULT '' COMMENT '来源关联ID',
`remark` varchar(500) NOT NULL DEFAULT '' COMMENT '备注',
`creator` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE,
KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
KEY `idx_user_id` (`user_id`) USING BTREE,
KEY `idx_code_id` (`code_id`) USING BTREE,
KEY `idx_create_time` (`create_time`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='兑换记录表';