-- =============================================== -- 兑换码系统建表 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='兑换记录表';