update: 提交所有修改和新增功能代码
This commit is contained in:
11
sql/add_prize_pool_column.sql
Normal file
11
sql/add_prize_pool_column.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- 为 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;
|
||||
9
sql/add_special_rule_status.sql
Normal file
9
sql/add_special_rule_status.sql
Normal file
@@ -0,0 +1,9 @@
|
||||
-- 为双色球开奖记录表添加特别规定期间标识字段
|
||||
-- 用于标识该期是否处于特别规定期间(福运奖期间)
|
||||
|
||||
ALTER TABLE lottery_draws ADD COLUMN is_special_period TINYINT DEFAULT 0 COMMENT '是否处于特别规定期间:0-否,1-是';
|
||||
|
||||
-- 更新说明:
|
||||
-- 特别规定启动条件:当奖池资金 >= 15亿元时开始执行
|
||||
-- 特别规定停止条件:执行特别规定后,某期开奖后奖池资金 < 3亿元时停止
|
||||
-- 在特别规定期间,3个红球匹配可获得福运奖(5元)
|
||||
37
sql/ddl.sql
37
sql/ddl.sql
@@ -166,7 +166,8 @@ CREATE TABLE IF NOT EXISTS `lottery_draws` (
|
||||
`redBall4` INT NOT NULL COMMENT '红4',
|
||||
`redBall5` INT NOT NULL COMMENT '红5',
|
||||
`redBall6` INT NOT NULL COMMENT '红6',
|
||||
`blueBall` INT NOT NULL COMMENT '蓝球'
|
||||
`blueBall` INT NOT NULL COMMENT '蓝球',
|
||||
`prizePool` BIGINT NULL COMMENT '奖池'
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT = '彩票开奖信息表';
|
||||
|
||||
@@ -183,6 +184,10 @@ create table if not exists user
|
||||
userPassword varchar(512) not null comment '密码',
|
||||
isVip int default 0 not null comment '是否会员:0-非会员,1-会员',
|
||||
vipExpire datetime null comment '会员到期时间',
|
||||
vipType varchar(50) default '体验会员' null comment '套餐类别(体验会员/月度会员/年度会员)',
|
||||
location varchar(100) null comment '所在省市',
|
||||
preference varchar(100) null comment '彩票偏好(双色球/大乐透等)',
|
||||
channel varchar(100) null comment '获客渠道',
|
||||
# vipNum int not null comment '会员编号',
|
||||
`status` tinyint DEFAULT '0' COMMENT '状态0正常1不正常',
|
||||
createTime datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
||||
@@ -273,7 +278,8 @@ CREATE TABLE IF NOT EXISTS `dlt_draw_record` (
|
||||
`frontBall4` INT NOT NULL COMMENT '前区4',
|
||||
`frontBall5` INT NOT NULL COMMENT '前区5',
|
||||
`backBall1` INT NOT NULL COMMENT '后区1',
|
||||
`backBall2` INT NOT NULL COMMENT '后区2'
|
||||
`backBall2` INT NOT NULL COMMENT '后区2',
|
||||
`prizePool` BIGINT NULL COMMENT '奖池'
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT = '大乐透开奖信息表';
|
||||
|
||||
@@ -438,3 +444,30 @@ CREATE TABLE IF NOT EXISTS `dlt_predict_record` (
|
||||
`bonus` BIGINT default 0 NOT NULL COMMENT '奖金'
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT = '大乐透推测记录表';
|
||||
|
||||
|
||||
-- 公告管理表
|
||||
CREATE TABLE IF NOT EXISTS `announcement` (
|
||||
`id` BIGINT AUTO_INCREMENT COMMENT '唯一标识符' PRIMARY KEY,
|
||||
`title` VARCHAR(200) NOT NULL COMMENT '公告标题',
|
||||
`content` TEXT NOT NULL COMMENT '公告详情内容',
|
||||
`publisherId` BIGINT NOT NULL COMMENT '发布人ID',
|
||||
`publisherName` VARCHAR(256) NOT NULL COMMENT '发布人名称',
|
||||
`status` TINYINT DEFAULT 1 NOT NULL COMMENT '公告状态:0-草稿,1-已发布,2-已下架',
|
||||
`priority` TINYINT DEFAULT 0 NOT NULL COMMENT '优先级:0-普通,1-置顶',
|
||||
`viewCount` INT DEFAULT 0 NOT NULL COMMENT '浏览次数',
|
||||
`createTime` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间',
|
||||
`updateTime` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`isDelete` TINYINT DEFAULT 0 NOT NULL COMMENT '是否删除:0-未删除,1-已删除'
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT = '公告管理表';
|
||||
|
||||
-- 为已存在的user表添加新字段
|
||||
ALTER TABLE `user`
|
||||
ADD COLUMN `vipType` VARCHAR(50) DEFAULT '体验会员' NULL COMMENT '套餐类别(体验会员/月度会员/年度会员)' AFTER `vipExpire`,
|
||||
ADD COLUMN `location` VARCHAR(100) NULL COMMENT '所在省市' AFTER `vipType`,
|
||||
ADD COLUMN `preference` VARCHAR(100) NULL COMMENT '彩票偏好(双色球/大乐透等)' AFTER `location`,
|
||||
ADD COLUMN `channel` VARCHAR(100) NULL COMMENT '获客渠道' AFTER `preference`;
|
||||
|
||||
ALTER TABLE `user`
|
||||
ADD COLUMN `vipType` VARCHAR(50) DEFAULT '体验会员' NULL COMMENT '套餐类别(体验会员/月度会员/年度会员)' AFTER `vipExpire`
|
||||
|
||||
14
sql/update_prize_pool_to_decimal.sql
Normal file
14
sql/update_prize_pool_to_decimal.sql
Normal file
@@ -0,0 +1,14 @@
|
||||
-- 修改奖池字段类型:从 BIGINT 改为 DECIMAL(10,2)
|
||||
-- 单位从"元"改为"亿元"
|
||||
|
||||
-- 修改 lottery_draws 表的奖池字段
|
||||
ALTER TABLE `lottery_draws`
|
||||
MODIFY COLUMN `prizePool` DECIMAL(10,2) DEFAULT 0.00 COMMENT '奖池(单位:亿元)';
|
||||
|
||||
-- 修改 dlt_draw_record 表的奖池字段
|
||||
ALTER TABLE `dlt_draw_record`
|
||||
MODIFY COLUMN `prizePool` DECIMAL(10,2) DEFAULT 0.00 COMMENT '奖池(单位:亿元)';
|
||||
|
||||
-- 验证字段类型是否修改成功
|
||||
-- SHOW COLUMNS FROM lottery_draws LIKE 'prizePool';
|
||||
-- SHOW COLUMNS FROM dlt_draw_record LIKE 'prizePool';
|
||||
93
sql/user_viptype_update.sql
Normal file
93
sql/user_viptype_update.sql
Normal file
@@ -0,0 +1,93 @@
|
||||
-- ============================================
|
||||
-- 用户表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;
|
||||
|
||||
Reference in New Issue
Block a user