40 lines
2.3 KiB
SQL
40 lines
2.3 KiB
SQL
CREATE TABLE IF NOT EXISTS `prize_grant_activities` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`reason` VARCHAR(255) NOT NULL COMMENT '发奖原因',
|
|
`status` VARCHAR(16) NOT NULL DEFAULT 'inactive' COMMENT '状态:active/inactive',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_pga_status_id` (`status`, `id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖品发放活动';
|
|
|
|
CREATE TABLE IF NOT EXISTS `prize_grant_activity_rewards` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`activity_id` BIGINT NOT NULL COMMENT '活动ID',
|
|
`reward_type` VARCHAR(32) NOT NULL COMMENT '奖品类型:product/item_card/coupon',
|
|
`reward_ref_id` BIGINT NOT NULL COMMENT '奖品资源ID',
|
|
`quantity_per_claim` INT NOT NULL DEFAULT 1 COMMENT '每次领取数量',
|
|
`sort` INT NOT NULL DEFAULT 0 COMMENT '排序',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_pgar_activity` (`activity_id`, `sort`, `id`),
|
|
KEY `idx_pgar_reward` (`reward_type`, `reward_ref_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖品发放活动奖品';
|
|
|
|
CREATE TABLE IF NOT EXISTS `prize_grant_activity_user_records` (
|
|
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
|
`activity_id` BIGINT NOT NULL COMMENT '活动ID',
|
|
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
|
`status` VARCHAR(16) NOT NULL COMMENT '状态:claimed/processed',
|
|
`claimed_at` DATETIME(3) NULL DEFAULT NULL COMMENT '领取时间',
|
|
`processed_at` DATETIME(3) NULL DEFAULT NULL COMMENT '处理时间',
|
|
`operator_admin_id` BIGINT NOT NULL DEFAULT 0 COMMENT '操作管理员ID',
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uk_pgaur_activity_user` (`activity_id`, `user_id`),
|
|
KEY `idx_pgaur_activity_status` (`activity_id`, `status`, `updated_at`),
|
|
KEY `idx_pgaur_user_status` (`user_id`, `status`, `updated_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='奖品发放活动用户记录';
|