update: 提交所有修改和新增功能代码

This commit is contained in:
lihanqi
2026-02-14 12:15:01 +08:00
parent dc59f393fa
commit ec597ffe2e
77 changed files with 4417 additions and 2411 deletions

View 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;

View File

@@ -0,0 +1,9 @@
-- 为双色球开奖记录表添加特别规定期间标识字段
-- 用于标识该期是否处于特别规定期间(福运奖期间)
ALTER TABLE lottery_draws ADD COLUMN is_special_period TINYINT DEFAULT 0 COMMENT '是否处于特别规定期间0-否1-是';
-- 更新说明:
-- 特别规定启动条件:当奖池资金 >= 15亿元时开始执行
-- 特别规定停止条件:执行特别规定后,某期开奖后奖池资金 < 3亿元时停止
-- 在特别规定期间3个红球匹配可获得福运奖5元

View File

@@ -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`

View 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';

View 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;