项目重构: 整理目录结构, 更新前后端代码, 添加测试和数据库迁移

This commit is contained in:
AIGC Developer
2025-12-30 10:24:19 +08:00
parent 5344148a1c
commit 38630dbb66
117 changed files with 1987 additions and 1316 deletions

View File

@@ -115,8 +115,7 @@ CREATE TABLE IF NOT EXISTS membership_levels (
description TEXT COMMENT '描述',
price DECIMAL(10,2) NOT NULL DEFAULT 0 COMMENT '价格(元)',
duration_days INT NOT NULL DEFAULT 30 COMMENT '时长(天)',
points_bonus INT NOT NULL DEFAULT 0 COMMENT '积分奖励',
resource_points INT NOT NULL DEFAULT 0 COMMENT '资源点数量',
points_bonus INT NOT NULL DEFAULT 0 COMMENT '积分奖励(购买会员后获得的资源点数量)',
features JSON COMMENT '功能特性JSON格式',
is_active BOOLEAN NOT NULL DEFAULT TRUE COMMENT '是否启用',
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
@@ -144,47 +143,10 @@ CREATE TABLE IF NOT EXISTS user_memberships (
INDEX idx_end_date (end_date)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户会员信息表';
-- 视频生成任务表
CREATE TABLE IF NOT EXISTS video_tasks (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
task_id VARCHAR(100) NOT NULL UNIQUE,
user_id BIGINT NOT NULL,
task_type VARCHAR(50) NOT NULL COMMENT 'TEXT_TO_VIDEO, IMAGE_TO_VIDEO, STORYBOARD_VIDEO',
title VARCHAR(200) NOT NULL,
description TEXT,
input_text TEXT,
input_image_url VARCHAR(500),
output_video_url VARCHAR(500),
status VARCHAR(20) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING, PROCESSING, COMPLETED, FAILED',
progress INT NOT NULL DEFAULT 0,
error_message TEXT,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
completed_at TIMESTAMP NULL,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
INDEX idx_task_id (task_id),
INDEX idx_user_id (user_id),
INDEX idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='视频生成任务表';
-- 系统配置表
CREATE TABLE IF NOT EXISTS system_configs (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
config_key VARCHAR(100) NOT NULL UNIQUE,
config_value TEXT,
description VARCHAR(500),
config_type VARCHAR(50) NOT NULL DEFAULT 'STRING' COMMENT 'STRING, NUMBER, BOOLEAN, JSON',
is_public BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_config_key (config_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统配置表';
-- 系统设置表(用于存储系统级别的设置)
-- 注意:套餐价格已移至 membership_levels 表管理
CREATE TABLE IF NOT EXISTS system_settings (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
standard_price_cny INT NOT NULL DEFAULT 0 COMMENT '标准版价格(元)',
pro_price_cny INT NOT NULL DEFAULT 0 COMMENT '专业版价格(元)',
points_per_generation INT NOT NULL DEFAULT 1 COMMENT '每次生成消耗的资源点',
site_name VARCHAR(100) NOT NULL DEFAULT 'AIGC Demo' COMMENT '站点名称',
site_subtitle VARCHAR(150) NOT NULL DEFAULT '现代化的Spring Boot应用演示' COMMENT '站点副标题',
@@ -192,7 +154,10 @@ CREATE TABLE IF NOT EXISTS system_settings (
maintenance_mode BOOLEAN NOT NULL DEFAULT FALSE COMMENT '维护模式',
enable_alipay BOOLEAN NOT NULL DEFAULT TRUE COMMENT '启用支付宝',
enable_paypal BOOLEAN NOT NULL DEFAULT TRUE COMMENT '启用PayPal',
contact_email VARCHAR(120) DEFAULT 'support@example.com' COMMENT '联系邮箱'
contact_email VARCHAR(120) DEFAULT 'support@example.com' COMMENT '联系邮箱',
prompt_optimization_model VARCHAR(50) DEFAULT 'gpt-5.1-thinking' COMMENT '优化提示词使用的模型',
storyboard_system_prompt VARCHAR(2000) DEFAULT '' COMMENT '分镜图生成系统引导词',
token_expire_hours INT NOT NULL DEFAULT 24 COMMENT 'Token过期时间小时'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统设置表';
-- 用户活跃度统计表