82 lines
5.0 KiB
SQL
82 lines
5.0 KiB
SQL
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='常驻活动砸蛋抽奖记录';
|