yumi-golang/migrations/034_resident_smash_egg.sql
2026-05-15 09:58:01 +08:00

82 lines
5.0 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE TABLE IF NOT EXISTS `smash_egg_config` (
`id` bigint NOT NULL COMMENT '主键ID',
`sys_origin` varchar(32) NOT NULL COMMENT '来源系统',
`enabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否启用',
`timezone` varchar(64) NOT NULL DEFAULT 'Asia/Riyadh' COMMENT '业务时区',
`rtp_basis_points` int NOT NULL DEFAULT '9500' COMMENT '目标RTP万分比',
`create_time` datetime(3) DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(3) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_smash_egg_config_sys_origin` (`sys_origin`),
KEY `idx_smash_egg_config_enabled` (`enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='常驻活动砸蛋配置';
CREATE TABLE IF NOT EXISTS `smash_egg_draw_option_config` (
`id` bigint NOT NULL COMMENT '主键ID',
`config_id` bigint NOT NULL COMMENT '主配置ID',
`sys_origin` varchar(32) NOT NULL COMMENT '来源系统',
`option_key` varchar(32) NOT NULL DEFAULT '' COMMENT '按钮标识',
`label` varchar(64) NOT NULL DEFAULT '' COMMENT '按钮文案',
`times` int NOT NULL DEFAULT '1' COMMENT '抽奖次数',
`price_gold` bigint NOT NULL DEFAULT '0' COMMENT '该按钮消耗金币',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序',
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`create_time` datetime(3) DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(3) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_smash_egg_option_config` (`config_id`, `sort`),
KEY `idx_smash_egg_option_enabled` (`sys_origin`, `enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='常驻活动砸蛋按钮配置';
CREATE TABLE IF NOT EXISTS `smash_egg_reward_config` (
`id` bigint NOT NULL COMMENT '主键ID',
`config_id` bigint NOT NULL COMMENT '主配置ID',
`sys_origin` varchar(32) NOT NULL COMMENT '来源系统',
`reward_type` varchar(32) NOT NULL COMMENT '奖励类型 RESOURCE_GROUP/GOLD',
`reward_group_id` bigint DEFAULT NULL COMMENT '资源组ID',
`reward_group_name` varchar(255) NOT NULL DEFAULT '' COMMENT '资源组名称快照',
`cover_url` varchar(512) NOT NULL DEFAULT '' COMMENT '封面图',
`animation_url` varchar(512) NOT NULL DEFAULT '' COMMENT '动态图',
`duration_days` int NOT NULL DEFAULT '0' COMMENT '资源组展示天数',
`gold_amount` bigint NOT NULL DEFAULT '0' COMMENT '金币数量',
`reward_value_gold` bigint NOT NULL DEFAULT '0' COMMENT '奖品折算金币价值用于RTP计算',
`probability` int NOT NULL DEFAULT '0' COMMENT '中奖概率100%=1000000',
`sort` int NOT NULL DEFAULT '0' COMMENT '排序',
`enabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用',
`create_time` datetime(3) DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(3) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_smash_egg_reward_config` (`config_id`, `sort`),
KEY `idx_smash_egg_reward_enabled` (`sys_origin`, `enabled`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='常驻活动砸蛋奖励配置';
CREATE TABLE IF NOT EXISTS `smash_egg_draw_record` (
`id` bigint NOT NULL COMMENT '主键ID',
`draw_no` varchar(64) NOT NULL COMMENT '抽奖单号',
`event_id` varchar(128) NOT NULL COMMENT '奖励发放幂等事件ID',
`sys_origin` varchar(32) NOT NULL COMMENT '来源系统',
`user_id` bigint NOT NULL COMMENT '用户ID',
`draw_option_id` bigint NOT NULL DEFAULT '0' COMMENT '按钮配置ID',
`draw_times` int NOT NULL DEFAULT '1' COMMENT '本次抽奖次数',
`paid_gold` bigint NOT NULL DEFAULT '0' COMMENT '本次消耗金币',
`reward_type` varchar(32) NOT NULL COMMENT '奖励类型 RESOURCE_GROUP/GOLD',
`reward_group_id` bigint DEFAULT NULL COMMENT '资源组ID',
`reward_group_name` varchar(255) NOT NULL DEFAULT '' COMMENT '资源组名称快照',
`cover_url` varchar(512) NOT NULL DEFAULT '' COMMENT '封面图快照',
`animation_url` varchar(512) NOT NULL DEFAULT '' COMMENT '动态图快照',
`duration_days` int NOT NULL DEFAULT '0' COMMENT '天数快照',
`gold_amount` bigint NOT NULL DEFAULT '0' COMMENT '金币数量快照',
`reward_value_gold` bigint NOT NULL DEFAULT '0' COMMENT '奖品折算金币价值',
`probability` int NOT NULL DEFAULT '0' COMMENT '概率快照100%=1000000',
`status` varchar(32) NOT NULL DEFAULT 'PENDING' COMMENT '状态 PENDING/SUCCESS/FAILED',
`error_message` varchar(1024) NOT NULL DEFAULT '' COMMENT '失败原因',
`create_time` datetime(3) DEFAULT NULL COMMENT '创建时间',
`update_time` datetime(3) DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_smash_egg_draw_record_event` (`event_id`),
KEY `idx_smash_egg_draw_record_draw_no` (`draw_no`),
KEY `idx_smash_egg_draw_record_user_time` (`sys_origin`, `user_id`, `create_time`),
KEY `idx_smash_egg_draw_record_day` (`sys_origin`, `create_time`),
KEY `idx_smash_egg_draw_record_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='常驻活动砸蛋抽奖记录';