-- ============================================
-- 用户表vipType字段更新SQL脚本
-- 功能：为user表添加vipType等字段，并设置默认值
-- 日期：2026-01-26
-- ============================================

-- 方案一：为已存在的user表添加新字段（推荐用于已有数据的表）
-- 如果字段已存在，请先删除后再添加，或者直接跳过此步骤

-- 添加vipType字段，默认值为'体验会员'
ALTER TABLE `user`
    ADD COLUMN `vipType` VARCHAR(50) DEFAULT '体验会员' NULL COMMENT '套餐类别（体验会员/月度会员/年度会员）' AFTER `vipExpire`;

-- 添加location字段
ALTER TABLE `user`
    ADD COLUMN `location` VARCHAR(100) NULL COMMENT '所在省市' AFTER `vipType`;

-- 添加preference字段
ALTER TABLE `user`
    ADD COLUMN `preference` VARCHAR(100) NULL COMMENT '彩票偏好（双色球/大乐透等）' AFTER `location`;

-- 添加channel字段
ALTER TABLE `user`
    ADD COLUMN `channel` VARCHAR(100) NULL COMMENT '获客渠道' AFTER `preference`;

-- ============================================
-- 如果字段已存在但需要修改默认值，使用以下语句
-- ============================================

-- 修改vipType字段，设置默认值为'体验会员'
ALTER TABLE `user`
    MODIFY COLUMN `vipType` VARCHAR(50) DEFAULT '体验会员' NULL COMMENT '套餐类别（体验会员/月度会员/年度会员）';

-- ============================================
-- 为已有用户设置默认vipType（可选）
-- ============================================

-- 将所有vipType为NULL的用户设置为'体验会员'
UPDATE `user` SET `vipType` = '体验会员' WHERE `vipType` IS NULL;

-- 将所有非会员用户设置为'体验会员'
UPDATE `user` SET `vipType` = '体验会员' WHERE `isVip` = 0 AND (`vipType` IS NULL OR `vipType` = '');

-- ============================================
-- 验证SQL
-- ============================================

-- 查看user表结构
DESC `user`;

-- 查看vipType字段的分布情况
SELECT `vipType`, COUNT(*) as count FROM `user` GROUP BY `vipType`;

-- 查看会员类型分布
SELECT 
    `isVip`,
    `vipType`,
    COUNT(*) as count,
    CASE 
        WHEN `vipExpire` IS NULL THEN '无到期时间'
        WHEN `vipExpire` < NOW() THEN '已过期'
        ELSE '未过期'
    END as expire_status
FROM `user` 
GROUP BY `isVip`, `vipType`, expire_status;

-- ============================================
-- 说明
-- ============================================
-- vipType字段取值说明：
-- 1. '体验会员' - 默认值，所有新注册用户和非会员用户
-- 2. '月度会员' - 激活码时效 < 12个月的用户
-- 3. '年度会员' - 激活码时效 >= 12个月的用户
--
-- 激活会员码时的逻辑：
-- - 如果激活码时效 < 12个月，设置vipType为'月度会员'
-- - 如果激活码时效 >= 12个月，设置vipType为'年度会员'
-- ============================================



        -- 为 lottery_draws 表添加奖池字段
ALTER TABLE `lottery_draws`
    ADD COLUMN `prizePool` BIGINT DEFAULT 0 COMMENT '奖池' AFTER `blueBall`;

-- 为 dlt_draw_record 表添加奖池字段
ALTER TABLE `dlt_draw_record`
    ADD COLUMN `prizePool` BIGINT DEFAULT 0 COMMENT '奖池' AFTER `backBall2`;

-- 验证字段是否添加成功
-- SELECT * FROM lottery_draws LIMIT 1;
-- SELECT * FROM dlt_draw_record LIMIT 1;

